IE10 下 localStorage 异常(SCRIPT5007:无法获取未定义或 null 引用的属性 getItem)的解决方法

作者: 来源: 更新时间:2012-12-31 20:03:46 点击:

localStorage 是 HTML5 新增的特性之一,用以代替之前较老 HTML 版本中的 Cookie 来保存客户端数据。这个新特性的最大特点是允许我们能更多地在客户端保存数据,无需插件每个网站即可存储最大数据量为5M的信息,部分浏览器甚至允许用户自定义存储大小。对于只存储字符串类型数据的应用需求来说,这已经足够大了。

昨天在写 localStorage 的演示程度时,在 IE10 下调试,莫名地碰到了如下错误:

image

这错误报得很蹊跷啊,难道是 IE10 不支持 localStorage?后来想想不可能啊,IE10 的宣传中明确写着完美支持 HTML5 啊。后来在园友 xiaowei0705 博文《HTML5 LocalStorage 本地存储》中看到,原来 IE10 下调试HTML5页面,localStorage 特性需要将页面部署到 IIS 下才能支持,直接点开静态的 HTML 页面是不可以的。

于是小G将文件夹发布到 IIS 中,然后浏览,果然得到了预期的效果,如下图:

image

这里歌曲列表在添加后是保存在 localStorage 变量中的,刷新页面后,之前添加的歌曲列表会自动加载。

这是我在学习中遇到的小问题的总结,希望能对刚刚接触 HTML5 的乡亲们有所帮助。