【问题标题】:In IE10 ('localStorage' in window) condition is true but localStorage is undefined?在 IE10(窗口中的“localStorage”)条件为真但 localStorage 未定义?
【发布时间】:2013-10-20 03:26:40
【问题描述】:

在此处浏览所有问题/答案,但找不到我的问题的解决方案。条件('localStorage' in window) 返回truelocalStorage 本身的对象仍然是undefined<!DOCTYPE html> 设置正确,无法正常工作。我正在使用 IE10。尝试通过开发者工具观看,结果相同。

这里有什么想法吗?

编辑

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

基于 IE9 中的相同问题,我想更新问题:有什么解决方法吗? 我什至无法在需要测试的机器上使用静态服务器开。

【问题讨论】:

  • 你应该发布你的代码,因为这可能是问题所在:)
  • 我认为代码无关紧要,即使只是通过 IE 调试器观看表达式也是未定义的。但无论如何添加我的函数返回false。
  • 当您尝试运行此代码时,浏览器中的 url 是什么?
  • 这里的try .. catch 完全没有必要。没有什么会抛出异常的,除非你隐藏window
  • 嗯,同意,我只是从这里的其他线程中复制了这个函数......最初它没有最后一个条件:&& window['localStorage'] !== undefined;所以它返回true,然后我得到了异常......

标签: javascript html local-storage internet-explorer-10


【解决方案1】:

我要在这里冒个险,说你的问题是 本地存储在 ie 中的 file:// 协议上不起作用,所以你需要某种服务器。 p>

【讨论】:

  • 这对开发来说真的很不愉快,它可以在所有其他浏览器中运行,比如 opera、ff、safari、chrome ......但我必须检查一下。
  • 幸运的是,现在只需两分钟即可设置本地 Web 服务器;)
  • 就我而言,我只需右键单击任何 PHP 文件并选择我的自定义“服务器(本地)”菜单项。你如何去做取决于你,但拥有这样的功能非常方便。我用批处理脚本实现了我的。
  • xampp 相当普遍。当然你也可以使用更简单的东西,比如命令行工具。如果你需要 PHP,那么设置一个像 xampp 这样的堆栈是值得的,不过五分钟。
  • 如果问题出在文件协议上的本地存储上,您可能需要考虑不同的数据存储方式。 stackoverflow.com/questions/5914029/…
猜你喜欢
  • 2015-04-18
  • 1970-01-01
  • 2018-02-14
  • 2021-03-18
  • 2019-01-05
  • 2022-01-18
  • 2021-10-17
  • 2016-12-29
  • 1970-01-01
相关资源
最近更新 更多