我正在尝试从我的Chrome 扩展程序中 manifest.json 中的cdn 路径(' https://cdn.xyz.com/scripts/background.js ')加载后台脚本,但它抛出了我的错误 -无法加载后台脚本' https://cdn.xyz.com/scripts/background.js '。我已经在 manifest.json 文件的 content_security_policy 中添加了https://cdn.xyz.com。
清单文件
{
"name": "MyExtension",
"manifest_version": 2,
"background": {
"scripts": [
"https://cdn.xyz.com/scripts/background.js"
],
"persistent": false
},
"permissions": [
"http://*/*",
"https://*/*",
],
"content_security_policy": "script-src 'self' 'unsafe-eval' https://cdn.xyz.com; object-src 'self'"
}
您不能直接在清单中添加远程脚本。
调整 CSP 允许您动态加载脚本 - 通过在您的(本地)后台代码中创建一个<script>
适当的节点src
。
// Local background script
let script = document.createElement('script');
script.src = "https://cdn.xyz.com/scripts/background.js";
document.head.appendChild(script); // Executes in background document
请注意,这种代码加载(大部分逻辑托管在其他地方,独立更新,在特权上下文中执行)是 Google 非常不赞成的,并且 Mozilla 完全禁止列出的 WebExtensions。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句