当前位置: 首页 > news >正文

从 Manifest V2 升级到 Manifest V3 的注意事项

将 Chrome 扩展从 Manifest V2 升级到 Manifest V3 是一个重要的迁移过程,以下是需要注意的关键点:

核心变更要点

  1. 清单文件结构变化

    • manifest_version 必须设置为 3

    • background 字段改为使用 Service Worker

    • web_accessible_resources 需要显式声明

  2. 后台脚本变化

    • 不再支持 background pages,改用 Service Workers

    • Service Worker 不能使用 DOM 和 window 相关 API

    • 需要重构持久化状态管理逻辑

  3. 网络请求变化

    • chrome.webRequest API 被限制使用

    • 需要使用新的 chrome.declarativeNetRequest API

    • 修改请求/响应内容的能力受限

详细注意事项

1. Service Worker 替代 Background Pages

// Manifest V2
"background": {"scripts": ["background.js"],"persistent": false
}// Manifest V3
"background": {"service_worker": "background.js"
}

2. 远程代码执行限制

  • 不再允许执行远程代码(如 eval()

  • 所有代码必须包含在扩展包中

  • 动态代码执行被严格限制

3. 权限系统变更

  • 部分权限需要从 permissions 移到 optional_permissions

  • 主机权限现在需要单独声明

  • 新增 host_permissions 字段

4. API 变更

  • chrome.extension → chrome.runtime

  • chrome.tabs.executeScript → chrome.scripting.executeScript

  • chrome.runtime.onSuspend 被移除

http://www.dtcms.com/a/278103.html

相关文章:

  • Extended Nested Arrays for Consecutive Virtual Aperture Enhancement
  • 财务管理体系——解读大型企业集团财务管理体系解决方案【附全文阅读】
  • Python异步编程
  • 57.第二阶段x64游戏实战-实时监控抓取lua内容
  • 利用低汇率国家苹果订阅,120 元开通 ChatGPT Plus
  • 14.使用GoogleNet/Inception网络进行Fashion-Mnist分类
  • docker基础部署
  • ID生成策略
  • 在新版本的微信开发者工具中使用npm包
  • 用信号量实现进程互斥,进程同步,进程前驱关系(操作系统os)
  • DOS下EXE文件的分析 <1>
  • MacBook Air通过VMware Fusion Pro安装Win11
  • 从代码学习深度强化学习 - DDPG PyTorch版
  • [Python 基础课程]列表
  • 【DataLoader的使用】
  • 力扣 hot100 Day43
  • Actor-Critic重要性采样原理
  • java valueOf方法
  • 【算法】贪心算法入门
  • SwiftUI 7 新 WebView:金蛇出洞,网页江湖换新天
  • 一些git命令
  • 若依框架集成阿里云OSS实现文件上传优化
  • 对于muduo我自己的理解
  • UniHttp生命周期钩子与公共参数实战:打造智能天气接口客户端
  • flask校园学科竞赛管理系统-计算机毕业设计源码12876
  • SPSSPRO:数据分析市场SaaS挑战者的战略分析
  • JAVA并发——什么是AQS?
  • Mapbox GL初探
  • 【unitrix】 5.0 第二套类型级二进制数基本结构体(types2.rs)
  • 16.使用ResNet网络进行Fashion-Mnist分类