Google chrome extension 如何为chrome扩展将清单版本2迁移到v3?

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", &

我不知道如何将我的chrome扩展清单v2升级到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'"
} 
先谢谢你



这是分机

我也在找同样的东西。多亏了用户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”。哇,这些迁移指南太糟糕了。