跟踪迁移进度
以下核对清单可帮助您跟踪迁移工作。它们定义了必须完成的任务,并提供相关说明的链接。迁移工作大致分为五类,如迁移摘要中所述。
更新清单
对于 Manifest V3,manifest.json 文件所需的格式与 Manifest V2 略有不同。本页介绍了仅影响 manifest.json 文件的更改。但对脚本和网页的许多更改也需要更改清单。这些更改包含在需要它们的迁移任务中。
迁移到 service worker
Service Worker 会替换扩展程序的后台或事件页面,以确保后台代码不会占用主线程。这样,扩展程序便可在需要时运行,从而节省资源。
在开始之前,请先了解后台脚本与扩展程序服务工作线程之间的区别。
- 更新清单中的“background”字段
- 将 DOM 和窗口调用移至屏幕外文档
- 将 localStorage 转换为 chrome.storage.local
- 同步注册监听器
- 将对
XMLHttpRequest()的调用替换为全局fetch()。 - 持久性状态
- 将定时器转换为闹钟
- 保持 Service Worker 处于活动状态(在特殊情况下)
更新 API 调用
某些功能需要替换为 Manifest V3 等效功能。其他人则需要完全移除。
- 将
tabs.executeScript()替换为scripting.executeScript()。 - 将
tabs.insertCSS()和tabs.removeCSS()替换为scripting.insertCSS()和scripting.removeCSS()。 - 将浏览器操作和网页操作替换为操作
- 替换需要 Manifest V2 后台上下文的函数。
- 用 Promise 替换回调
- 替换不受支持的 API
替换阻塞 Web 请求监听器
扩展程序不再像在 Manifest V2 中那样以程序化方式读取网络请求并对其进行更改,而是指定规则来描述在满足一组给定条件时要执行的操作。
完成上述步骤后,您可以查看一些常见用例:
提高扩展程序的安全性
需要进行更改以提高扩展程序的安全性。这包括移除不再受支持的远程托管代码。
发布 Manifest V3 扩展程序
转换为 Manifest 版本 3 后,就可以在 Chrome 应用商店中发布扩展程序了。根据所做的更改,考虑逐步推出。这种方法可让您先在有限的受众群体中确保扩展程序按预期运行,然后再向整个用户群发布。