背景
Chrome插件的Manifest V3版本是Chrome团队对插件系统进行的一次重大升级。这次升级的主要目标是提高插件的性能、隐私和安全性。V3版本引入了很多新的API和功能,同时也对一些旧的API进行了限制或者移除,以减少插件对用户隐私的潜在威胁和提高浏览器的性能。
升级到V3版本的主要好处包括:
更好的性能:V3版本的插件运行在更少的背景页面上,这可以大大减少插件对系统资源的占用。
更高的安全性:V3版本引入了新的权限系统,可以更精细地控制插件的权限,减少插件被恶意利用的风险。
更强的隐私保护:V3版本限制了一些可能侵犯用户隐私的API,比如webRequest API。
升级步骤
1. 更新manifest.json
首先,你需要将manifest.json文件中的”manifest_version”字段的值改为3。
{
"manifest_version": 3,
...
}
2. 替换背景脚本
在V3版本中,长期运行的背景页面被替换为了服务工作线程。你需要将background字段中的”persistent”设置为false,并将”scripts”改为”service_worker”。
{
...
"background": {
"service_worker": "background.js",
"persistent": false
},
...
}
3. 更新权限
V3版本引入了新的权限系统,你需要将”permissions”字段改为”host_permissions”,并将需要的API权限添加到”permissions”字段中。
{
...
"permissions": ["alarms", "storage"],
"host_permissions": ["<all_urls>"],
...
}
4. 替换webRequest API
V3版本限制了webRequest API的使用,你需要将其替换为declarativeNetRequest API。
chrome.declarativeNetRequest.updateDynamicRules({
removeRuleIds: [1],
addRules: [{
id: 1,
priority: 1,
action: { type: 'block' },
condition: { urlFilter: '||example.com^', resourceTypes: ['main_frame'] }
}]
});
5. 测试和调试
最后,你需要在chrome://extensions页面中加载你的插件,并使用开发者工具进行测试和调试。
结语
升级到Manifest V3版本需要对插件进行一些重大的修改,但这些修改将使你的插件更加高效、安全和隐私友好。希望这篇教程能帮助你顺利完成升级。
原文链接:https://juejin.cn/post/7351319640553766951 作者:DiligentLeo