返回知识库

浏览器插件 · 认识扩展

扩展清单Manifest V3

manifest.json 是扩展的总清单,名称、版本、入口和权限都在这里声明。必须用第 3 版(MV3);AI 写出 MV2 字段,Chrome 会拒绝加载。

把 AI 写的 manifest.json 加载进 Chrome

AI 交来一份划词收藏的清单文件,里面混着已经淘汰的 MV2 写法。点加载,读 Chrome 报的错,改对应那一行,再加载,直到扩展出现在列表里。

my-extension / manifest.jsonAI 生成
  1. 1{
  2. 2"manifest_version": 2,
  3. 3"name": "划词收藏", "version": "1.0.0",
  4. 4"background": { "scripts": ["bg.js"], "persistent": true },
  5. 5"browser_action": { "default_popup": "popup.html" },
  6. 6"permissions": ["storage", "activeTab"]安装警告从这一行来
  7. 7}
chrome://extensions

还没加载。

这是 AI 交来的 manifest.json。下一步:点「加载到 Chrome」,看浏览器怎么说。

知识点:一份清单管全部声明

刚才每一次加载失败,都指向清单里的某一行。

  • manifest.json 放在扩展根目录,声明名称、版本、后台、弹出页和所有权限。
  • manifest_version 必须是 3。Chrome 已停用第 2 版,MV2 扩展装不上。
  • MV2 的典型痕迹:browser_action、background.scripts、persistent、webRequestBlocking。
  • Chrome 一次只报最先遇到的错,改完要回扩展页重新加载。
  • permissions 决定安装时的警告;上架更新时 version 必须比上一版大。

什么时候看它、怎么用

你不用手写清单,但要会验收它。

  • AI 刚生成扩展、扩展加载失败、要加新功能或准备上架前,都先打开 manifest.json 看一眼。
  • Firefox、Edge 也用同一套格式,但个别字段有差异,跨浏览器时让 AI 列出差异。
  1. 提示词里写明「用 Manifest V3,不要出现 MV2 字段」。
  2. 拿到文件先找 manifest_version 和 background 两行。
  3. 对一遍 permissions:每一项都能说出用在哪个功能上。
  4. 加载报错时,把错误原文整句贴回给 AI。

正反例:同一句「帮我写个扩展」

差别只在提示词里有没有锁定版本。

正例写明 MV3,列出禁止的旧字段

AI 交来的清单直接能加载,后台是 service_worker,按钮是 action。

反例只说「写个 Chrome 插件」

AI 照着旧教程写出 MV2,加载失败,你得一行行把报错贴回去返工。

快速自测

AI 交来的 manifest.json 里有 "background": { "scripts": ["bg.js"], "persistent": true }。你该怎么回复?

继续查证

术语的技术定义和行为以这些一手或权威资料为准。

下一步学

和本知识点经常一起出现的概念。