【问题标题】:IE9 Beta Support for localStorage本地存储的 IE9 Beta 支持
【发布时间】:2011-04-16 04:00:35
【问题描述】:

有谁知道当前的 IE9 Beta 是否完全支持 HTML5“localStorage”功能? 通常可以使用 js 代码来测试“localStorage”支持,就像:

try {
    return  ('localStorage' in window) && window['localStorage'] !== null;
} catch (e) {
    return false;
}

好吧,似乎这种测试返回“真”,但如果你尝试类似:

localStorage.removeItem ('key')

您在 Javascript 控制台上遇到错误(SCRIPT16389 错误)。还有更多信息吗?

【问题讨论】:

    标签: local-storage internet-explorer-9


    【解决方案1】:

    您的测试返回 true 的原因是语句:window['localStorage'] 返回“未定义”。将您的测试更改为:window['localStorage'] != null(或!= undefined),它将返回 false。

    我的 IE9 版本 (9.0.8112.16421IC) 似乎也不支持localStorage

    【讨论】:

    • 'localStorage' in window 测试总是通过 IE9,但window['localStorage'] != null 只会通过真实域,而不是本地文件 URL 等。
    • 事实上它为window['localStorage'] != nullwindow['localStorage'] !== null 提供了不同的结果。 !=!==undefined 是一致的。
    【解决方案2】:

    在 IE9 测试版中存在与 removeItem 的回归。

    在 Connect 错误报告数据库中提交了错误。 https://connect.microsoft.com/IE/feedback/details/613497/web-storage-remove-method-not-working-according-to-the-spec

    【讨论】:

      【解决方案3】:

      正如您在 Comparison of layout engines (HTML5) on Wikipedia 上看到的那样,应该支持 Web 存储。

      PS:IE9是Trident 5.0。 (感谢 EricLaw -MSFT- 的错误)。

      【讨论】:

        【解决方案4】:

        不完全确定这里的问题是什么,因为localstorage 从版本 8 起就在 IE 中起作用。见:

        http://msdn.microsoft.com/en-us/library/cc197062%28VS.85%29.aspx
        http://www.quirksmode.org/dom/html5.html

        另外,我创建了这个工作示例:http://jsbin.com/ijega3/edit

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-12-07
          • 1970-01-01
          • 2012-05-26
          • 2012-06-01
          • 1970-01-01
          • 2017-01-12
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多