打开本地文件时如何绕过document.domain限制?

Gud*_*lyf 6 html javascript firefox

我有一组使用JavaScript生成导航工具,索引,TOC等的HTML文件.这些文件只能在本地打开(例如,file://)而不能在Web服务器上提供.从Firefox 3.x开始,单击导航按钮时会遇到以下错误:导航按钮会为TOC生成新框架:

Error: Permission denied for <file://> to get property Location.href from <file://>.
Run Code Online (Sandbox Code Playgroud)

我知道这是由于FF 3.x中的安全措施不在2.x中,因为document.domain不匹配,所以它假设这是跨站点脚本并且拒绝访问.

有办法解决这个问题吗?也许只是在Firefox中关闭/打开的开关?有一些JavaScript代码可以解决它吗?

Cle*_*ton 1

在火狐浏览器中:

  1. 在地址栏中输入 about:config,
  2. 然后在搜索栏中输入network.automatic-ntlm-auth.trusted-uris
  3. 输入逗号分隔的服务器列表(即 Intranet、家庭、公司)

另一种方法是编辑 users.js。

在users.js中写入:

user_pref("capability.policy.policynames", "localfilelinks");
user_pref("capability.policy.localfilelinks.sites", "http://site1.com http://site2.com");
user_pref("capability.policy.localfilelinks.checkloaduri.enabled", "allAccess");
Run Code Online (Sandbox Code Playgroud)

但如果你想停止所有验证,只需将以下行写入 users.js 文件中:

user_pref("capability.policy.default.checkloaduri.enabled", "allAccess");
Run Code Online (Sandbox Code Playgroud)