【发布时间】:2015-09-19 02:44:39
【问题描述】:
我正在尝试使用 localStorage 在刷新时检查复选框。除了 IE11(及更低版本)之外,所有现代浏览器都可以完成这项工作
小提琴:
(function() {
var boxes = document.querySelectorAll("input[type='checkbox']");
for (var i = 0; i < boxes.length; i++) {
var box = boxes[i];
if (box.hasAttribute("store")) {
setupBox(box);
}
}
function setupBox(box) {
var storageId = box.getAttribute("store");
var oldVal = localStorage.getItem(storageId);
console.log(oldVal);
box.checked = oldVal === "true" ? true : false;
box.addEventListener("change", function() {
localStorage.setItem(storageId, this.checked);
});
}
})();
有谁知道是否有办法让它适应 IE?或者,也许您知道一个脚本可以在所有浏览器的刷新时检查复选框? (不管它是在 javascript 还是 jquery 中)。任何帮助表示赞赏。
【问题讨论】:
-
要保留复选框
checked,checked 属性会有所帮助.. -
我知道这一点。它与我所问的有什么关系?
-
LocalStorage 在 IE 8+ 中应该可以正常工作。看看this,它可能有你要找的东西
-
我刚刚在 Windows 8.1、IE 11.0.9600.17498 上运行了你的小提琴,它工作正常。也许您的 IE 版本已过期,或者您的安全设置不允许使用 LocalStorage
-
@qwikad,我最初弄错了。如果您担心较低版本的 IF,您可以在 localStorage 上使用
cookies。
标签: javascript jquery cookies local-storage