问题描述

  • 有一个单独的html文件里面使用了cdn引入了外部的js文件,如下:
  • <script src="abc.cdn.xxx.js"></script>
  • 控制台直接报错,但是不影响代码运行
  • 报错信息如下:

Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' 'wasm-unsafe-eval' 'inline-speculation-rules' chrome-extension://c74ed397-0031-4064-bf05-2ac404af2ff8/". Either the 'unsafe-inline' keyword, a hash ('sha256-SqqFyeG2nBtCbs3Zgdc/cA8HYzuwepPEQDZzDjgb/vQ='), or a nonce ('nonce-...') is required to enable inline execution.

报错截图如下:

原因和解决方案

  • 笔者谷歌浏览器中安装的扩展插件中有FeHelper
  • 就是这个插件会检测网页中的代码,比如进行内容安全策略(Content Security Policy, CSP)的限制。
  • CSP 是一种额外的安全层,可以检测和缓解某些类型的攻击比如跨站脚本攻击XSS和数据注入攻击之类的。
  • 从而抛出这个错误提示
  • 只要关掉这个插件即可
  • 如下图:


水冗水孚
1.1k 声望594 粉丝

每一个不曾起舞的日子,都是对生命的辜负