如何指定一个外部脚本在manifest版本3 Chrome扩展



这是我的清单文件-

{
"manifest_version": 3,
"name": "Title",
"version": "1.0",
"description": "Description",
"action": {
"default_title": "Title",
"default_popup": "popup.html"
},
"content_security_policy": {
"script-src": [
"'self'",
"https://use.fontawesome.com/9cd1c736ac.js"
],
"object-src": "self"
},
"web_accessible_resources": [
{
"resources": [
"botScript.js"
],
"matches": [],
"extension_ids": []
}
],
"icons": {
"16": "icons/icon16.png",
"32": "icons/icon32.png",
"48": "icons/icon48.png",
"128": "icons/icon128.png"
}
}

以下是manifest version-2,不适用于version-3:

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

我也尝试了以下的变化-

"content_security_policy": {
"script-src": "'self' https://use.fontawesome.com/9cd1c736ac.js",
"object-src": "self"
}
"content_security_policy": {
"script-src": "self",
"script-src-elem": "https://use.fontawesome.com/9cd1c736ac.js",
"object-src": "self"
},

文档说

Manifest V3 does not allow remote URLs in script-src of extension_pages.

那么,这是否意味着我们不能在V3中使用任何外部脚本?

同样,我得到以下错误:

Refused to load the script 'https://use.fontawesome.com/9cd1c736ac.js' because it violates the following Content Security Policy directive: "script-src 'self'". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.

您不允许在Manifest V3 Chrome扩展中引用外部JavaScript。如果你将其发布到Chrome Web Store,团队将拒绝该更新。

在Manifest V3中,所有扩展的逻辑必须包含在扩展。您无法再加载和执行远程托管文件。

来源:https://developer.chrome.com/docs/extensions/mv3/mv3-migration/: ~:文本= % 20清单% 20 v3 % 2 c % 20所有% 20的% 20 % 20扩展% 27 s % 20逻辑% 20 % 20必须% 20包括% 20 % 20的% 20 extension. % 20你% 20可以% 20没有% 20再% 20负载% 20和% 20远程执行% 20 % 20 % 20主持% 20文件。

最新更新