背景
AutoForm 除了 SDK 版本,还有一个 Chrome 插件版本。 最近 Chrome 商店强制要求迁移到 Manifest V3,我们被迫进行了一次大重构。
核心变化
1. Background Page 变成了 Service Worker
V2 的 Background Page 是一个常驻的 HTML 页面,可以访问 DOM。 V3 的 Service Worker 是事件驱动的,不常驻,且无法访问 DOM。
痛点:我们以前在 Background 里解析 HTML,现在不行了。 解决:把解析逻辑移到 Offscreen Document 或 Content Script 中。
2. 远程代码执行被禁
V2 允许 eval() 或加载远程 JS。
V3 严厉禁止。
痛点:我们的热更新机制失效了。 解决:老老实实走商店审核更新,或者使用 Rule API 动态修改请求。
3. 网络请求拦截 API 变更
webRequest API 被 declarativeNetRequest 取代。以前我们可以拦截请求并随意修改,现在只能预先定义规则。
迁移心得
Manifest V3 虽然限制了很多能力,但也更安全、更省电。对于开发者来说,思维模式要从"常驻后台"转变为"用完即走"。
如果你的插件还在用 V2,赶紧迁移吧,留给你的时间不多了。
👉 官网地址:51bpms.com