拒绝加载脚本, 因为它违反了以下内容安全策略指令

新手上路,请多包涵

问题:项目中引用外部的js文件,通过script直接引入,报这样的错误

请问下如何设置或者解决

<!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <!--<meta content="script-src 'self' http://xxxx 'unsafe-inline' 'unsafe-eval';">-->
        <title>点击后展示海量点</title>
    </head>
<body>
    <div id="container"></div>
</body>
<script src='http://webapi.amap.com/maps?v=2.0&key=3b6a577db20e05074e8710d94ecc895a'></script>
<script src="http://webapi.amap.com/ui/1.1/main.js?v=1.1.1"></script>

图片说明

翻译:
拒绝加载脚本'http://webapi.amap.com/ui/1.1/main.js?v=1.1.1',因为它违反了以下内容安全策略指令:"script-src 'unsafe-inline' 'self' unsafe-eval' map.baidu.com"。注意,'script-src-elem'没有显式设置,所以'script-src'被用作回退。

阅读 9k
2 个回答

从你这个报错来看,应该是在哪里指定了这样一条内容安全策略:script-src 'unsafe-inline' 'self' 'unsafe-eval' map.baidu.com,导致你只能加载来自 map.baidu.com 的脚本。检查一下你的服务器后端是不是传了一个包含如上字符的 Content-Security-Policy,或者是设定了类似的 <meta> 标签。注意 HTTP 头的优先级比 <meta> 标签的高。

从你的控制台来看,应该还有别的代码,<head> 里的内容都贴上来了吗?以及注意到你在别的问答网站里提到,定义了 CSP 也不行。你的 CSP 是怎么定义的,建议也贴到问题页里。

你把那两个链接的http改成https

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