我不知道如何将我的 chrome 扩展清单 v2 升级到 v3
我检查了https://developer.chrome.com/extensions/migration_to_manifest_v3但它没有谈论manifest.json
知道我的清单中需要更改什么吗:-
"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'"
}
提前谢谢你
这是为了conferfly扩展
这是如何将
manifest.json
从 v2 迁移到 v3 的示例。
第一件事是将
manifest_version
键从 2
更改为 3
//Manifest v2
"manifest_version": 2
//Manifest v3
"manifest_version": 3
将js文件中的
pageAction
和browserAction
替换为action
。
将
browser_action
和 page_action
键替换为 action
:
//Manifest v2
"browser_action": {...}
"page_action": {...}
//Manifest v3
"action": {...}
清单 v3 中已弃用后台页面和后台脚本。他们是由服务人员取代的。这意味着manifest文件的
background
部分需要这样修改
//Manifest v2
"background": {
"scripts": ["js/background.js"]
}
//Manifest v3
"background": {
"service_worker": "js/background.js"
}
要声明需要从web访问的打包资源,
web_accessible_resources
需要这样改
//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": "..."
}