Javascript 在IE10中(';localStorage';在窗口中)条件为true,但localStorage未定义?
浏览此处的所有问题/答案,但无法找到问题的解决方案。条件Javascript 在IE10中(';localStorage';在窗口中)条件为true,但localStorage未定义?,javascript,html,local-storage,internet-explorer-10,Javascript,Html,Local Storage,Internet Explorer 10,浏览此处的所有问题/答案,但无法找到问题的解决方案。条件('localStorage'在窗口中)返回true,但localStorage的对象本身保持未定义设置正确,无法使其工作。我正在使用IE10。尝试通过开发人员工具观看,结果相同 有什么想法吗 编辑 基于IE9中的同一个问题,我想更新这个问题:有什么解决办法吗?我甚至不能在我需要测试的机器上使用静态服务器。我将在这里冒一个险,说你的问题是本地存储在ie中的file://protocol上无法工作,所以你需要某种服务器。我要冒险说,你的问题是
('localStorage'在窗口中)
返回true
,但localStorage
的对象本身保持未定义<代码>
设置正确,无法使其工作。我正在使用IE10。尝试通过开发人员工具观看,结果相同
有什么想法吗
编辑
基于IE9中的同一个问题,我想更新这个问题:有什么解决办法吗?我甚至不能在我需要测试的机器上使用静态服务器。我将在这里冒一个险,说你的问题是本地存储在ie中的file://protocol上无法工作,所以你需要某种服务器。我要冒险说,你的问题是本地存储在ie中的file://protocol上不起作用,所以你需要某种服务器。你应该发布你的代码,因为这可能是问题所在:)我认为代码是不相关的,即使只是通过IE调试器查看表达式,它也是未定义的。但是无论如何,如果添加my函数,返回false。当您尝试运行此代码时,浏览器中的url是什么?
try。。catch
这里完全没有必要。没有任何东西会引发异常,除非您对窗口进行阴影处理。啊,是的,我同意了,我只是从其他线程复制了这个函数。。。最初它没有最后一个条件:&&window['localStorage']!==未定义;所以它返回true,然后我得到了异常…你应该发布你的代码,因为这可能是问题所在:)代码是无关的,我认为,它是未定义的,即使只是通过IE调试器查看表达式。但是无论如何,如果添加my函数,返回false。当您尝试运行此代码时,浏览器中的url是什么?try。。catch
这里完全没有必要。没有任何东西会引发异常,除非您对窗口进行阴影处理。啊,是的,我同意了,我只是从其他线程复制了这个函数。。。最初它没有最后一个条件:&&window['localStorage']!==未定义;所以它返回真的,然后我得到了异常…这对开发来说真的很不愉快,它在所有其他浏览器中工作,如opera、ff、safari、chrome。。。但我必须检查一下。幸运的是,现在安装本地web服务器只需两分钟;)在我的例子中,我只需右键单击任何PHP文件并选择自定义的“服务器(本地)”菜单项。如何操作取决于您自己,但拥有这样的功能非常方便。我用批处理脚本实现了我的。这是相当普遍的。当然,您也可以使用更简单的工具,如命令行工具。但是,如果您需要PHP,那么设置一个像xampp这样的堆栈是值得的。如果问题是文件协议上的本地存储,那么您可能需要寻找不同的方法来存储数据。这对开发来说真的很不愉快,它在所有其他浏览器中都能工作,比如opera、ff、safari、chrome。。。但我必须检查一下。幸运的是,现在安装本地web服务器只需两分钟;)在我的例子中,我只需右键单击任何PHP文件并选择自定义的“服务器(本地)”菜单项。如何操作取决于您自己,但拥有这样的功能非常方便。我用批处理脚本实现了我的。这是相当普遍的。当然,您也可以使用更简单的工具,如命令行工具。但是,如果您需要PHP,那么设置一个像xampp这样的堆栈是值得的。如果问题是文件协议上的本地存储,那么您可能需要寻找不同的方法来存储数据。
function storageAvailable() {
try {
return 'localStorage' in window && window['localStorage'] !== null && window['localStorage'] !== undefined;
} catch (e) {
return false;
}
}