创建插件清单文件(manifest.json)
-
解释manifest.json文件的作用和结构。
-
列出常见的配置选项,并对每个选项进行简要的解释和示例。
-
强调重要配置选项,如插件名称、版本号、描述、权限等。
下面是一个manifest.json文件所以配置大全 可以保存下(为了方便理解每个配置意思,加了注释,大家在粘贴复制时候要去掉注释)
{"manifest_version": 2,// 插件清单文件的版本,必须为2"name": "My Extension",// 插件的名称"version": "1.0",// 插件的版本号"description": "My first Chrome extension",// 插件的描述// 权限配置"permissions": ["activeTab",// 允许访问当前激活的标签页"storage"// 允许使用插件的本地存储API],// 后台页面配置"background": {"scripts": ["background.js"],// 后台页面要加载和执行的JavaScript文件"persistent": false// 后台页面是非持久的,只在需要时加载和执行},// 浏览器操作配置"browser_action": {"default_popup": "popup.html",// 点击插件图标时显示的弹出窗口文件"default_icon": {"16": "icon16.png",// 16x16像素的插件图标"48": "icon48.png",// 48x48像素的插件图标"128": "icon128.png"// 128x128像素的插件图标}},// 页面操作配置"page_action": {"default_popup": "popup.html",// 点击页面操作图标时显示的弹出窗口文件"default_icon": {"16": "icon16.png",// 16x16像素的页面操作图标"48": "icon48.png",// 48x48像素的页面操作图标"128": "icon128.png"// 128x128像素的页面操作图标}},// 内容脚本配置"content_scripts": [{"matches": ["<all_urls>"// 匹配所有URL],"js": ["content.js"],// 注入的JavaScript文件"css": ["styles.css"],// 注入的CSS文件"run_at": "document_end"// 注入的时机,在文档加载完成后执行}],// 插件图标配置"icons": {"16": "icon16.png",// 16x16像素的插件图标"48": "icon48.png",// 48x48像素的插件图标"128": "icon128.png"// 128x128像素的插件图标},// 脚本配置"background_scripts": {"page1": "script1.js",// 后台页面的脚本1"page2": "script2.js"// 后台页面的脚本2},// 插件页面配置"options_page": "options.html",// 插件选项页面的文件// 额外资源配置"web_accessible_resources": ["images/*",// 可以被网页访问的资源目录images"styles/style.css"// 可以被网页访问的CSS文件style.css],// 插件权限警告配置"permissions": ["tabs", // 允许访问浏览器标签页的权限"http://*/*", // 允许访问HTTP协议的网页"https://*/*" // 允许访问HTTPS协议的网页],// 默认本地化配置"default_locale": "en", // 默认的本地化语言// 命令配置"commands": {"myCommand": {"suggested_key": {"default": "Ctrl+Shift+F", // 命令的默认快捷键"mac": "Command+Shift+F" // 命令在Mac上的快捷键},"description": "My custom command" // 命令的描述}},// 声明所有文件"web_accessible_resources": ["images/*", // 可以被网页访问的资源目录images"styles/*" // 可以被网页访问的样式目录styles],// 定义插件的作者信息"author": {"name": "Your Name","email": "your.email@example.com","url": "https://example.com"},// 扩展开发者配置"developer": {"name": "Your Name","email": "your.email@example.com"}}