Google chrome extension 如何为chrome扩展将清单版本2迁移到v3?
我不知道如何将我的chrome扩展清单v2升级到v3 我查过了,但没有提到manifest.json 知道我的清单中需要更改什么吗-Google chrome extension 如何为chrome扩展将清单版本2迁移到v3?,google-chrome-extension,Google Chrome Extension,我不知道如何将我的chrome扩展清单v2升级到v3 我查过了,但没有提到manifest.json 知道我的清单中需要更改什么吗- "name": "My Extension", "version": "1.0.0", "short_name": "Ex", "author": "User", &
"name": "My Extension",
"version": "1.0.0",
"short_name": "Ex",
"author": "User",
"description": "cool chrome ex",
"browser_action": {
"default_title": "ex",
"default_icon": "img/logo.png"
},
"options_page": "options.html",
"options_ui": {
"page": "options.html",
"open_in_tab": true
},
"background": {
"scripts": [
"js/background.js"
]
},
"permissions": [
"tabs",
"background",
"storage"
],
"icons": {
"128": "img/logo128.png"
},
"content_scripts": [
{
"run_at": "document_end",
"matches": [
"https://conferfly.com/*",
"https://meet.google.com/*",
"https://teams.microsoft.com/*",
"https://*.zoom.us/*"
],
"js": [
"js/main.js",
"js/injected.js"
],
"css": [
"css/main.css"
]
}
],
"web_accessible_resources": [
"js/options.js",
"js/main.js",
"js/injected.js"
],
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}
先谢谢你
这是分机我也在找同样的东西。多亏了用户wOxxOm的帮助,我才知道在清单文件中应该修改什么。下面是一个如何将
manifest.json
从v2迁移到v3的示例
第一件事是将manifest\u version
键从2
更改为3
//Manifest v2
"manifest_version": 2
//Manifest v3
"manifest_version": 3
如清单迁移指南所述,pageAction
和browserAction
API将统一在action
API下。这意味着您需要将browser\u action
和page\u action
键更改为action
//Manifest v2
"browser_action": {...}
"page_action": {...}
//Manifest v3
"action": {...}
清单v3中不推荐使用后台页面和后台脚本。他们被服务人员取代。这意味着清单文件的background
部分需要以这种方式修改
//Manifest v2
"background": {
"scripts": ["js/background.js"]
}
//Manifest v3
"background": {
"service_worker": "js/background.js"
}
//Manifest v2
"web_accessible_resources": [
"js/options.js",
"js/main.js",
"js/injected.js"
]
//Manifest v3
"web_accessible_resources": [{
"resources": ["js/options.js","js/main.js","js/injected.js"],
"matches": [],
"extension_ids": []
}]
要声明需要从web访问的打包资源,需要以这种方式更改web\u accessible\u resources
//Manifest v2
"background": {
"scripts": ["js/background.js"]
}
//Manifest v3
"background": {
"service_worker": "js/background.js"
}
//Manifest v2
"web_accessible_resources": [
"js/options.js",
"js/main.js",
"js/injected.js"
]
//Manifest v3
"web_accessible_resources": [{
"resources": ["js/options.js","js/main.js","js/injected.js"],
"matches": [],
"extension_ids": []
}]
v3中的内容安全策略是一个对象
//Manifest v2
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
//Manifest v3
"content_security_policy": {
"extension_pages": "script-src 'self' 'unsafe-eval'; object-src 'self'",
"sandbox": "..."
}
要了解更多信息,可以检查或。它说“在manifest.json中用background.service\u worker替换background.page或background.scripts。请注意,service\u worker字段采用字符串,而不是字符串数组。”当然,在manifest\u版本中将2改为3。回答得好!仅供参考,哇,伙计。你救了我的命。让别人知道。即使
匹配项
和扩展ID
尚未使用,它们也必须存在。此外,background.js文件必须移动到根文件夹,因此需要将“js/background.js”更改为“background.js”。哇,这些迁移指南太糟糕了。