IE9不支持localStorage?

5

大家都说window.localStorage支持IE(直到IE8)。

我在IE9上测试,但是:

console.log(typeof window.localStorage)

undefined

这是什么意思?

在所有浏览器中存储本地数据的最佳方式是什么?


检查兼容模式。 - Luca Rainone
2个回答

7

本地存储是相对于一个来源存储的。

这意味着您必须使用http://someorigin/pathtoyourpage.html打开您的页面。如果您在file://pathtoyourpage.html中打开页面,它将无法在IE上工作(并且不应该在其他浏览器上工作)。

因此,您需要使用Web服务器访问您的页面(它可以在localhost上)。


1
我没有服务器,我正在使用HTML5开发客户端应用程序,这种情况下无法存储数据吗? - Valeriane
你的意思是说你无法安装一个简单的http服务器吗?在这种情况下,你将无法在页面中使用localStorage。 - Denys Séguret
我无法安装HTTP服务器,因为这不是我的项目目的。 - Valeriane
3
如果您的项目目的是制作一个可用网站,您可能需要重新考虑关于服务器的那个小细节。 - mkoryak
2
你的回答没有提到安全性,而是似乎在说需要源才能存储本地使用。file: URL也有一个源 - mercator
显示剩余3条评论

0

Storage.js 怎么样?

https://sites.google.com/site/daveschindler/jquery-html5-storage-plugin

提供了一个简单的接口来存储数据,例如用户偏好设置。存储插件非常有用,可以从用户的浏览器中保存和检索数据。对于较新的浏览器,使用HTML 5的localStorage。如果不支持localStorage,则改用cookies。可检索的数据仅限于同一域。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接