首页 > 解决方案 > Chrome 扩展“拒绝加载脚本,因为它违反了以下内容安全策略指令”

问题描述

我尝试通过cryptojs库加密用户数据并通过ajax发送到服务器,但控制台显示错误:

拒绝加载脚本' https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js ',因为它违反了以下内容安全策略指令:“script-src '自我' https://apis.google.com 'unsafe-eval'”。请注意,'script-src-elem' 没有明确设置,因此 'script-src' 用作后备。

我的清单代码包含:

"content_security_policy": "script-src 'self' https://apis.google.com 'unsafe-eval'; object-src 'self'"

如何解决这个问题呢?

标签: javascriptgoogle-chromegoogle-chrome-extensioncontent-security-policycryptojs

解决方案


对于那些遇到同样问题的人。我有同样的问题,并且在我更新content_security_policy以包含我试图加载的 googleapis url 后解决了。

我的代码:

<head>
...
<script src="https://maps.googleapis.com/maps/api/js?key=API_KEY;libraries=places"></script>
</head>

需要

{
  "content_security_policy": "script-src 'self' 'unsafe-eval' https://maps.googleapis.com 'unsafe-inline'; object-src 'self'",
}

推荐阅读