0

希望你一切都好!我仍在处理这个待办事项列表网站,我有点难以找到最好的方法来跟踪其中一项是否已标记为已完成,然后如何更新存储待办事项的 cookie只加载一个选中的复选框。

我已经看到诸如 unload 和 onbeforeunload 之类的东西,这似乎是一种可行的方法,检查页面卸载上的每个复选框,然后将状态存储在 cookie 中以供用户下次访问该页面时使用。

但我想知道是否还有其他建议?W3schools 认为 onunload 在 Opera 或 Chome 中不起作用(令人震惊!),如果是这种情况,这将是绝对不行的。

多谢你们!

哦,如果你想在附近有一个mooche ,请链接到该网站。这是一个普通的 JavaScript 项目,仅供参考 :)

4

1 回答 1

0

为什么不在复选框上或什至在复选框上触发click一些change东西blur

如果我这样做,我可能会使用 localStorage 而不是 cookie——除非我必须以某种方式将数据中继到服务器。(即便如此,我还是会使用 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 回答