javascript - 在 IE10 中拒绝访问本地存储

标签 javascript local-storage access-denied internet-explorer-10

昨天我安装了 Windows 8,现在我想了解为什么我在访问本地存储时收到“拒绝访问”消息。该页面与浏览器 (http://localhost) 在同一台 PC 上提供。我的感觉是 IE 10 中的一项安全设置有误,但我还没弄清楚是哪一项。

触发错误的 JavaScript 代码行是:

if(window.localStorage.getItem('phone') == null)

该代码在最新版本的 Chrome 中运行良好。

最佳答案

我们的用户在使用带有 IE 10 的 Windows 8 上使用 LocalStorage 功能(包括 Twitter)的网站时遇到问题。在打开 F12 开发人员工具的情况下访问其中一个网站时,SCRIPT5: Access is denied 消息出现在控制台上。

在与 Microsoft 支持部门合作后,我们确定了原因。结果证明是他们用户配置文件中 C:\Users\username\Appdata\LocalLow 文件夹的设置有问题。

您计算机上的每个文件夹都有一个完整性设置。有关此设置用途的更多信息,请参见此处:http://msdn.microsoft.com/en-us/library/bb625964.aspx

每个用户配置文件中 AppData\LocalLow 文件夹(及其子文件夹)的完整性设置应该设置为“低”(因此得名)。在我们的例子中,此文件夹的完整性级别设置不正确。要纠正该问题,请在命令提示符窗口中运行以下命令:

icacls %userprofile%\Appdata\LocalLow/t/setintegritylevel (OI)(CI)L

(如果计算机上有多个用户帐户,而其他用户也有同样的问题,则需要在每个受影响的用户帐户下运行该命令。)

至于这个设置最初是如何改变的?在我们的案例中,这是由我们部署到工作站的自定义 Windows 8 镜像中的问题引起的。对于其他遇到问题的人,我的研究表明使用“系统清理器”实用程序可能是罪魁祸首。

关于javascript - 在 IE10 中拒绝访问本地存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13102116/

相关文章:

javascript - 如何使用 underscore.js 将同一对象克隆为三个对象

Javascript:封装和抽象

javascript - Overpass api 请求中位置 0 处的 JSON 中出现意外 token <

javascript - jQuery - 本地存储排序字符串化对象顺序

javascript - 从本地存储中清除对象

asp.net - 在 IIS7 中托管 ASP.NET 导致访问被拒绝?

windows - 在 Windows 上使用 git 时出现警告和 fatal error ?

javascript - 休息 api session

javascript - localStorage 不会在刷新时保留数据

batch-file - 重命名文件夹时拒绝访问