本地存储和 IE。不能让它工作

Posted

技术标签:

【中文标题】本地存储和 IE。不能让它工作【英文标题】:Local Storage and IE. Can't make it work 【发布时间】:2015-09-19 02:44:39 【问题描述】:

我正在尝试使用 localStorage 在刷新时检查复选框。除了 IE11(及更低版本)之外,所有现代浏览器都可以完成这项工作

小提琴:

http://jsfiddle.net/usme91gk/

(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 中)。任何帮助表示赞赏。

【问题讨论】:

要保留复选框checkedchecked 属性会有所帮助.. 我知道这一点。它与我所问的有什么关系? LocalStorage 在 IE 8+ 中应该可以正常工作。看看this,它可能有你要找的东西 我刚刚在 Windows 8.1、IE 11.0.9600.17498 上运行了你的小提琴,它工作正常。也许您的 IE 版本已过期,或者您的安全设置不允许使用 LocalStorage @qwikad,我最初弄错了。如果您担心较低版本的 IF,您可以在 localStorage 上使用 cookies 【参考方案1】:

当我需要本地存储时,我会使用 jstorage。它具有一些附加功能,例如 TTL(生存时间)。

http://www.jstorage.info

【讨论】:

以上是关于本地存储和 IE。不能让它工作的主要内容,如果未能解决你的问题,请参考以下文章

Javascript - 将页面保存到本地存储

直接从文件系统访问网站时,IE9 中的本地存储失败

如何将新的本地分支推送到远程 Git 存储库并对其进行跟踪?

Angular2 cookie而不是本地存储

线程本地存储

React Hooks 有条件地渲染登录/注销 w/本地存储变量