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

标签 javascript html firefox

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

Error: Permission denied for <file://> to get property Location.href from <file://>.

我知道这是由于 FF 3.x 中的安全措施导致的,而 2.x 中没有,因为 document.domain 不匹配,因此假设这是跨站点脚本并拒绝访问。

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

最佳答案

在火狐中:

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

另一种方法是编辑 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");

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

user_pref("capability.policy.default.checkloaduri.enabled", "allAccess");

关于javascript - 打开本地文件时如何绕过 document.domain 限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1289063/

相关文章:

javascript - RxJS:一个将自己的旧值作为输入的 Observable

css - DIV 应填满可用空间

javascript - 验证特殊语言的输入框

html - 如何在 Firefox 和 IE 中使用键盘导航跳过隐藏的单选选项?

javascript - 更改 Select Elm 中所选元素的颜色 - Firefox 渲染问题

javascript - 后退按钮过滤器不起作用

javascript bookmarklet 在 '()' 上给出语法错误

html - 在 Windows 中安装 OTRS 3.2

Vue.js 应用程序中的 CSS : Safari & Firefox are not loading Google Font

javascript - AWS S3 使用预签名 URL 更新镜像(Axios-PUT 请求)