Browser Extension v2 配置文件

extension

Browser Extension v2 配置文件

Chrome 插件配置文件

Tip

manifest.json 所有 Chrome Extensions 都需要有一个 manifest.json 文件,该文件包含了插件的元信息 metadata,进行相关配置设置、所需权限、使用的资源等。

json
{
    // 以下三项是必须有的元信息
    "manifest_version": 2,   // 清单文件的版本,必须是 2,当前 Chrome 插件的版本
    "name": "demo",     // 插件的名称
    "version": "1.0.0",     // 插件的版本


    "description": "Hello World",       // 插件描述
    "icons":   // 插件的图标,显示在 Chrome 插件列表页面
    {
        "16": "img/icon.png",
        "48": "img/icon.png",
        "128": "img/icon.png"
    },
    "background":   // 后台运行的程序,2 种指定方式,只能指定一个后台
    {
        "scripts": ["js/background.js"]   // 如果指定 JS,那么会自动生成一个背景页
        // 可以在 Chrome 插件列表页面点击 查看视图背景页 打开该页面的控制台进行调试
        // "page": "background.html"
    },
    "browser_action":   // 浏览器右上角图标设置,browser_action、page_action、app 必须三选一
    {
        "default_icon": "img/icon.png",
        "default_title": "Hello World",   // 鼠标悬停在图标时显示的标题
        "default_popup": "popup.html"
    },
    // 当某些特定页面打开才显示的图标
    /*"page_action":
    {
        "default_icon": "img/icon.png",
        "default_title": "我是 pageAction",
        "default_popup": "popup.html"
    },*/
    "content_scripts":   // 需要直接「注入」页面的 JS,在页面加载完成后运行,可以操作页面的 DOM,可以指定多个规则
    [
        {

            "matches": ["<all_urls>"],   // 设置匹配的 URL 才运行 content scripts,<all_urls> 表示匹配所有地址
            //"matches": ["http://*/*", "https://*/*"],
            "js": ["js/jquery.js", "js/content-script.js"],   // 多个 JS 按顺序注入
            "css": ["css/custom.css"],   // 可以注入 CSS,但可能影响全局样式
            "run_at": "document_start"   // 代码注入的时间
            // 可选值 document_start、document_end、document_idle,最后一个表示页面空闲时,默认 document_idle
        },
        // content-script 可以可以配置多个规则
        {
            "matches": ["*://*/*.png", "*://*/*.jpg", "*://*/*.gif", "*://*/*.bmp"],
            "js": ["js/show-image-content-size.js"]
        }
    ],
    "permissions":   // 权限申请
    [
        "contextMenus",   // 右键菜单
        "tabs", // 标签
        "notifications",   // 通知
        "webRequest",   // web请求
        "webRequestBlocking",
        "storage",   // 插件本地存储
        "http://*/*",   // 可以通过 executeScript 或者 insertCSS 访问的网站
        "https://*/*"   // 可以通过 executeScript 或者 insertCSS 访问的网站
    ],
    "web_accessible_resources": ["js/inject.js"],   // 普通页面能够直接访问的插件资源列表,如果不设置是无法直接访问的
    "homepage_url": "https://www.google.com",   // 插件主页
    "chrome_url_overrides":   // 覆盖浏览器默认页面
    {
        "newtab": "newtab.html"   // 覆盖浏览器默认的新标签页
    },
    "omnibox": { "keyword" : "go" },    // 向地址栏注册一个关键字以触发插件
    // 默认语言
    "default_locale": "zh_CN",
    "devtools_page": "devtools.html"   // devtools 页面入口,只能指向一个 HTML 文件(不能是JS文件)
}

Copyright © 2024 Ben

Theme BlogiNote

Icons from Icônes