Manifest 之韵:插件的 “身份证”

如果把插件比作一个 APP,manifest 就是它的‘身份证’—— 记录着名字(name)、版本(version)、头像(icons)等基础信息,让浏览器一眼认出它;同时,它也是‘操作手册’—— 告诉浏览器‘我需要哪些权限’(permissions)、‘在哪里干活’(service_worker/background)、‘能调用哪些工具’(web_accessible_resources)。少了它,插件就成了‘黑户’,连浏览器的大门都进不去。

一份“优雅”的配置

{
  "manifest_version": 3, 
  "name": "My Extension",  
  "version": "1.0.0", 
  
  "icons": {
    "16": "icons/icon16.png",  
    "48": "icons/icon48.png",   
    "128": "icons/icon128.png"  
  },
  "description": "一款帮助你管理标签页的Chrome扩展", 
  "default_locale": "en", 
  
  "action": {
    "default_icon": {
      "16": "icons/icon16.png",
      "32": "icons/icon32.png"
    },
    "default_title": "My Extension",  
    "default_popup": "popup.html"    
  },
  
  "background": {
    "service_worker": "background.js"  
  },
  
  "content_scripts": [
    {
      "matches": ["https://*.example.com/*"], 
      "js": ["content.js"],                 
      "run_at": "document_end"        
    }
  ],
  
  "permissions": [
    "https://api.example.com/*",
    "tabs",      
    "activeTab",    
    "scripting",    
    "storage",       
  ]
}

这时候你可能就要疑问了,这些配置都是干什么用的?咱们接着往下看。

配置详解

基础元信息 --- 必填

  1. "manifest_version"

指定Manifest文件的版本,目前Chrome要求使用3。

  1. "name"

扩展程序的名称,显示在Chrome扩展管理页面和商店中。

  1. "version"

扩展程序的版本号。

视觉与本地化 --- 强烈推荐的配置项

  1. "icons"提供多尺寸图标资源,适配不同使用场景。
  2. "description"

简明扼要地描述插件功能,这将出现在扩展管理页面和应用商店中,是用户了解插件的第一印象。

  1. "default_locale"

指定默认语言环境,可以配合 _locales 目录实现国际化支持。

  1. "action"

用户交互配置,用于定义工具栏图标的外观与行为。

按需必选 --- 根据扩展功能需求添加

  1. "service_worker"

持续运行的后台脚本,在 Manifest V3 中取代传统的 background scripts它按需运行,适用于监 听事件(如通知、消息传递、定时任务)等后台操作。

  1. "content_scripts"

用于向匹配的网页注入 JavaScript 或 CSS,实现对页面内容的读取、修改与增强。

  1. "permissions"

明确请求运行所需的权限,务必遵循“最小权限原则”,仅申请实际需要的权限。

常见的权限类型有

权限

说明

"https://api.example.com/*"

允许向指定域名发起网络请求

"tabs"

获取标签页列表、读取 URL、执行跳转等完整控制

"activeTab"

临时授予对当前激活标签页的有限访问权(更安全)

"scripting"

使用 chrome.scripting API 动态注入脚本(V3 中必需)

"storage"

使用 chrome.storage进行结构化数据持久化

更多权限配置,可参考官方文档https://developer.chrome.com/docs/extensions/reference/permissions-list?hl=zh-cn

从零探索Chrome插件开发,手把手教你构建实用功能,开启浏览器扩展创作之旅。

全部评论
3
1 回复 分享
发布于 08-02 20:32 河南
点赞 回复 分享
发布于 08-09 23:47 江苏
点赞 回复 分享
发布于 08-09 20:27 江苏
点赞 回复 分享
发布于 08-03 14:21 广东
感谢大佬
点赞 回复 分享
发布于 08-02 20:36 河南
自从看了大佬的专题,我学到了很多
点赞 回复 分享
发布于 08-02 20:36 河南

相关推荐

评论
8
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务