68

我试图以这种方式使用控制台在现有网站上包含 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 标头。

4

2 回答 2

79

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

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

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

于 2014-12-05T20:53:08.287 回答
-1

我正在使用此 Chrome 扩展程序在每个选项卡的基础上禁用 CSP。

禁用 Content-Security-Policy 扩展:

有一个默认禁用 CSP 的 fork。

始终禁用 Content-Security-Policy 扩展:

于 2020-06-28T17:32:05.080 回答