localStorage 对象在 IE 中未定义

IT技术 javascript local-storage internet-explorer-9
2021-01-24 03:05:55

我在我的 JS 应用程序中使用 localStorage,我想知道为什么 IE9 声明localStorage == undefined. 据我所知,IE8 支持它,这里有什么办法让它在新版本中工作吗?

3个回答

你是在本地 HTML 文件上测试这个吗?即一个file:///网址?

localStorage 仅在 HTTP 网站上可用。这在 IE9 Dev Preview 中没有改变。

@AJ。谢谢。我怀疑这就是问题所在,但仍然想知道在 IE 中测试时出了什么问题。我开始从一个网络应用程序中运行我的测试页面,它在 IE、FF 和 Chrome 上运行得很好。
2021-03-27 03:05:55

IE 11 工程

您只需要两个就将 file://127.0.0.1 添加到安全选项卡下的受信任区域(注意:确保未选中 https 复选框)将此行添加到顶部或您的脚本,具体取决于您的代码,您可能不会需要,除非您无法连接到互联网。

!localStorage && (l = location, p = l.pathname.replace(/(^..)(:)/, "$1$$"), (l.href = l.protocol + "//127.0.0.1" + p));

if (typeof(Storage) != "undefined") {
    // Store
    localStorage.setItem("lastname", "Smith");
    // Retrieve
    alert(localStorage.getItem("lastname"));
} else {
    alert("Sorry, your browser does not support Web Storage...");
}
太好了,这有效!在我的机器上,即使没有更改安全选项卡等中的任何内容。一个注意事项:Variable undefined in strict mode如果您在严格模式下执行代码,此代码会引发错误。要解决,以非压缩模式重写(if (!localStorage) { .... }
2021-03-20 03:05:55

尝试像这样打开文件

file://127.0.0.1/c$/pathtofile/file.html

@daylight 如果您还添加file://127.0.0.1到受信任站点列表中,它会起作用
2021-03-14 03:05:55
在 IE11 上,这似乎不起作用。我无法使用file://127.0.0.1/.... 我已添加file://127.0.0.1到 IE 可信站点列表中。
2021-03-24 03:05:55
在 IE11 上为我工作
2021-03-28 03:05:55
我不认为那行得通。至少无法在 IE11 中使用它。啊,好吧,使用 mongoose web 服务器,它足够小,然后 localStorage 工作。
2021-04-13 03:05:55