0

インタラクティブな todo リストを生成するために、次の Web ページを作成しました: http://robert-kent.com/todo/todo.php

基本的に、ユーザーは番号付きの todo リストを貼り付け、各タスクは一意の ID を持つ独自の div に配置されます。ユーザーはタスクにメモを追加し (javascript を使用)、タスクが完了したら緑色のチェックをクリックして非表示にすることができます。

ユーザーが入力したメモとともに、完了したタスクと完了していないタスクのレポートを生成する [エクスポート] ボタンを追加したいと思います。少し検索した後、私がやりたいことはページをスクレイピングすることであることがわかりましたが、それを行うための最良の方法についてのかすかな考えはありません. 私が Google で見つけた記事やチュートリアルの多くは、他のサイトのスクレイピングを含んでおり、ページの各 div を反復処理する方法についてはあまり説明していません。

完全なソースはこちら:http://pastebin.com/r7V3P5jK

助言がありますか?

4

2 に答える 2

1

あなたが説明した「エクスポート」機能を提供するアプローチは、残念ながら完全に間違っています。ページは、「エクスポート」が必要であることを示すパラメーターを使用してサーバーに送信する必要があります。次に、サーバーは「Content-Disposition」ヘッダーを次のように設定する必要attachment; filename="export.txt"があります(またはファイル名を任意に設定します)。

于 2010-05-15T15:51:43.110 に答える
0

エクスポートしたいコンテンツを含む div がある場合は、innerHTML プロパティを使用して HTML コードをエクスポートするだけです。たとえば、div の id が「notes」であるとします。

var notes = document.getElementById('notes');
alert(notes.innerHTML);

では、ユーザーに実際の HTML を実際にファイルに保存させるにはどうすればよいでしょうか。次のヘッダーでコンテンツを送り返すサーバー上のCGIなどに送信する必要があります。

Content-Disposition: 添付; ファイル名="export.txt"

または、このページで説明されているメソッドを使用する必要があります: http://objectmix.com/javascript/314946-possible-generate-text-files-javascript.html。参考までに: このページで説明されている方法は、クロスブラウザーと互換性がありません。

于 2011-04-25T07:09:41.047 に答える