Javascript 未加载Chrome扩展CSP远程脚本

Javascript 未加载Chrome扩展CSP远程脚本,javascript,firefox-addon-webextensions,Javascript,Firefox Addon Webextensions,我正在尝试在我的web扩展中包含一个远程脚本。我想在扩展的各个部分使用它:背景脚本、内容脚本和浏览器操作,但CSP一直阻止我。我已经尝试了所有我能找到的解决办法,但似乎都不管用。我已经在manifest.json中更新了我的CSP,以包含src。这就是我要做的 manifest.json { "author": "me", "manifest_version": 2, "name": "my-a

我正在尝试在我的web扩展中包含一个远程脚本。我想在扩展的各个部分使用它:背景脚本、内容脚本和浏览器操作,但CSP一直阻止我。我已经尝试了所有我能找到的解决办法,但似乎都不管用。我已经在
manifest.json
中更新了我的CSP,以包含src。这就是我要做的

manifest.json

{
  "author": "me",
  "manifest_version": 2,
  "name": "my-app",
  "version": "1.1.1",

  "description": "the description",

  "content_security_policy": "script-src 'self' https://unpkg.com; object-src 'self'",

  "icons": {
    "16": "icons/trust-nobody-v2-16.png",
    "48": "icons/trust-nobody-v2-48.png",
    "128": "icons/trust-nobody-v2-128.png"
  },

  "browser_action": {
    "default_popup": "popup.html"
  },

  "permissions": ["*://*/*", "tabs", "storage", "alarms"],

  "browser_specific_settings": {
    "gecko": {
      "id": "myid@my.id"
    }
  },

  "background": {
    "page": "background.html"
  },

  "content_scripts": [
    {
      "matches": ["*://*/*"],
      "js": ["content-script.js"],
      "css": ["content-script.css"]
    }
  ]
}

popup.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <script
      type="text/javascript"
      src="https://unpkg.com/js-logger/src/logger.min.js"
    ></script>

    <script type="module" src="popup.js"></script>
    <link rel="stylesheet" href="popup.css" />
  </head>
  <body>
    <button id="settings">Settings</button>
  </body>
</html>


将网络脚本加载到扩展的超级特权上下文中是一个糟糕的想法。永远不要这样做。下载代码并将其作为普通脚本加载。谢谢,我会这样做,但我仍然希望使其在本地开发中发挥作用。编辑manifest.json后是否重新加载扩展?是的,我在编辑manifest.json后重新加载了扩展。可能是因为网络重定向而无法工作。尝试加载最终标记的URL,如
https://unpkg.com/js-logger@1.6.1/src/logger.min.js
这是您无论如何都应该做的,因为这样在更新时事情不会意外中断。
Refused to load the script 'https://unpkg.com/js-logger/src/logger.min.js' because it violates the following Content Security Policy directive: "script-src 'self' blob: filesystem:". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.