如何通过内容安全政策允许在Chrome扩展程序popup.html中加载外部脚本?

时间:2013-08-29 17:11:34

标签: google-chrome-extension manifest

Chrome正在向我发出以下错误:

Refused to load the script 'http://domain.com/myexternalscript.js' because it violates the following Content Security Policy directive: "script-src 'self' 'unsafe-eval'"

目前,在我的清单中,我的内容安全政策如下:

"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"

如何更改安全策略以便允许脚本运行?

1 个答案:

答案 0 :(得分:4)

在普通页面上,您可以使用

script-src 'self' 'unsafe-eval' domain.com; ...

但扩展只允许通过HTTPS的外部脚本。你需要使用

script-src 'self' 'unsafe-eval' https://domain.com;

并通过HTTPS提供脚本。

您必须将要使用的每个外部域列入白名单。您可以使用通配符匹配任何子域:https://*.domain.com

有关详细信息,请参阅relaxing the default CSP上的Google扩展程序文档。另请参阅MDN的页面Using Content Security Policy