0

お元気で!私はまだこの to-do リスト サイトに取り組んでおり、アイテムの 1 つが完了としてマークされているかどうかを追跡する最善の方法と、to-do を保存する Cookie を更新する方法について少し行き詰まっています。チェックされたチェックボックスのみをロードします。

unload や onbeforeunload など、可能な方法のように見えるものを見てきました。ページのアンロードの各チェックボックスをチェックし、ユーザーが次にページにアクセスしたときにステータスを Cookie に保存します。

しかし、他の提案があるかどうか疑問に思っていますか?W3schools は、onunload が Opera や Chome では機能しないと考えています (衝撃的です!)。

みんなありがとう!

ああ、ムーチを持ちたい場合は、サイトにリンクしてください。参考までに、これはバニラ JavaScript プロジェクトです :)

4

1 に答える 1

0

clickどちらか、あるいはチェックボックスchangeでさえも何かを起動してみませんか?blur

もし私がそうしていたら、どうにかしてデータをサーバーに中継しなければならない場合を除いて、Cookie の代わりに localStorage を使用するでしょう。(それでも、localStorage を使用し、AJAX がコンテンツをサーバーに投稿します)。

各エントリの Cookie ではなく、もう少し明確にするために (これは、サイズの問題を引き起こす可能性があります)、次のようなものを使用します。

var checklist = []; // Make an array

チェックボックスをクリックすると、単語などを取得してから

checklist.push({'title': 'Eat some carrots', 'description': 'Orange ones', 'Urgent': 0});

また

checklist.push({'title': 'Eat some cheese', 'description': 'Cheddar - I hate brie', 'Urgent': 1});

次に、表示するには、チェックリスト配列をループして画面に描画します(ただし、すでに行っていると思います)

このオブジェクトの配列を保存する場合は、次を使用します。

localStorage.checklist = JSON.stringify(checklist); // Now our checklist from above is stored in a variable in localStorage called checklist.

そしてそれを読み返すには:

checklist = localStorage.checklist;

サーバーでこれが本当に必要な場合は、そこにチェックリストを投稿できますが、おそらくそうしません。これでアプリ キャッシュ (http://www.html5rocks.com/en/tutorials/appcache/beginner/) が追加され、オフラインでも動作するようになりました。:)

于 2013-01-10T14:52:19.247 に答える