【问题标题】:Google Chrome: Refused to Execute Inline script谷歌浏览器:拒绝执行内联脚本
【发布时间】:2012-09-18 07:40:23
【问题描述】:

鉴于 chrome 内容安全政策的变化,我已将所有脚本移动到单独的文件中,并在我的 chrome 扩展的 html 页面(背景和弹出窗口)中引用它们。但我仍然收到以下消息

Refused to execute inline script because it violates the following Content Security Policy
 directive: "script-src 'self' chrome-extension-resource:".

这是我的背景页面

<html>
<head>
    <script type="text/javascript" src="jquery.js"></script>
    <script type="text/javascript" src="background.js"></script>
</head>
<!--<body onload = "Load();">-->
 <body>
</body>
</html>

您看到没有内联 js,但错误消息一直存在。我的代码有什么问题,我该如何解决?

注意:我使用的是清单版本 2 和 chrome 版本 21.0.1180.89

谢谢

【问题讨论】:

  • 看不到background.js中的代码,这里也没什么可调试的。
  • 谢谢罗布。问题解决了。请看我的回答

标签: javascript google-chrome google-chrome-extension content-security-policy


【解决方案1】:

正如前面的答案所暗示的,当您将扩展程序更新到清单版本 2 时,扩展程序的代码和引用的库的代码必须与 CSP 兼容。

更新您的 jquery 库就足够了。 Jquery 支持 CSP 与此错误: http://bugs.jquery.com/ticket/11249

【讨论】:

    【解决方案2】:

    通过将 jquery.js 从版本 1.4 升级到 1.7 解决了问题

    【讨论】:

      猜你喜欢
      • 2016-12-07
      • 2020-02-12
      • 2014-07-14
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      相关资源
      最近更新 更多