如何在浏览器 JS 控制台中包含脚本时覆盖内容安全策略?

新手上路,请多包涵

我试图以这种方式使用控制台在现有网站上包含 JQuery:

 var script = document.createElement('script');
script.src = 'http://code.jquery.com/jquery-1.11.1.min.js';
script.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(script);

然后我得到了这个错误:

 Content Security Policy: The page's settings blocked the loading of a resource at http://code.jquery.com/jquery-1.11.1.min.js ..

在开发过程中,我可能想要包含外部 Javascript。我可能不想复制粘贴整个 JQuery 代码,因为它看起来不整洁。如何出于开发目的覆盖内容安全策略?

这对于快速测试非常有用。稍后我可能想将正在编写的脚本转换为浏览器扩展。

注意(更新):我正在现有网站上编写脚本,无法控制设置 Content-Security-Policy 标头。

原文由 Pranjal Mittal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 335
1 个回答

您可以通过在 about:config 菜单中禁用 security.csp.enable 来关闭 Firefox 中整个浏览器的 CSP。如果这样做,您应该 使用完全独立的浏览器进行测试。例如,将 Firefox Developer Edition 安装在您的普通浏览器旁边,并将其用于测试(而 不是 普通的 Web 使用)。

作为替代方案,应该可以在 Content-Security-Policy 响应标头到达您的浏览器之前更改它(通过 HTTP 代理)。也可以使用扩展来做到这一点。

Chrome 扩展程序可以为自己的 chrome-extension://... 页面 设置自己的 CSP ,但不能更改普通网页的 CSP。

原文由 apsillers 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题