《智能前端技术与实践》——第1章 开发环境配置——1.6 使用 Google 浏览器——1.6.2 Google 浏览器扩展程序(上) https://developer.aliyun.com/article/1228439?groupCode=tech_library
3)任选一个(或不选)
开发者可以对浏览器右上角的图标进行设置,如代码清单1-27所示。
代码清单1-27
{ "browser_action": { }, "page_action": { } }
4)可选字段
开发者可以指定当前扩展程序向页面注入脚本的形式、后台JavaScript代码或后台页面及
开发者或插件的主页设置等信息,如代码清单1-28所示。
代码清单1-28
{ "action": , "author": , "automation": , "background": { // 推荐的"persistent": false, // 可选的"service_worker": }, "chrome_settings_overrides": { }, "chrome_url_overrides": { }, "commands": { }, "content_capabilities": , "content_scripts": [{ }], "content_security_policy": "policyString", "converted_from_user_script": , "current_locale": , "declarative_net_request": , "devtools_page": "devtools.html", "differential_fingerprint": , "event_rules": [{ }], "externally_connectable": { "matches": ["*://*.example.com/*"] }, "file_browser_handlers": [ ], "file_system_provider_capabilities": { "configurable": true, "multiple_mounts": true, "source": "network"}, "homepage_url": "http://path/to/homepage", "host_permissions": , "import": [{"id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}], "incognito": "spanning, split, or not_allowed", "input_components": , "key": "publicKey", "minimum_chrome_version": "versionString", "nacl_modules": [ ], "natively_connectable": , "oauth2": , "offline_enabled": true, "omnibox": { "keyword": "aString"}, "optional_permissions": ["tabs"], "options_page": "options.html", "options_ui": { "chrome_style": true, "page": "options.html"}, "permissions": ["tabs"], "platforms": , "replacement_web_app": , "requirements": { }, "sandbox": [ ], "short_name": "Short Name", "signature": , "spellcheck": , "storage": { "managed_schema": "schema.json"}, "system_indicator": , "tts_engine": { }, "update_url": "http://path/to/updateInfo.xml", "version_name": , "web_accessible_resources": [ ]
接着,查看所上传项目的 manifest.json 文件,如代码清单 1-29 所示。
代码清单 1-29
{ "name": "你好,我是石璞东", "description" : "hahaCoder", "version": "1.0", "manifest_version": 2, "browser_action": { "default_popup": "index.html", "default_icon": "icon/hello.png"}, "commands": { "_execute_browser_action": { "suggested_key": { "default": "Ctrl+Shift+F", "mac": "MacCtrl+Shift+F"}, "description": "Opens index.html"} } }
由以上manifest.json清单我们可以知道如下几点。
• 该扩展程序的名称(name)为“你好,我是石璞东”。
• 描述信息(description)为“hahaCoder”。
• 程序版本为1.0。
• 清单文件版本(manifest_version)为第2版。
• browser_action 字段规定了该扩展程序的图标(default_icon)和用户单击图标时弹出 的窗口(default_popup)。
• commands 字段允许开发者使用命令 API 添加键盘快捷键,这些快捷键会触发扩展程 序中的操作。注意,只有当清单文件版本(manifest_version)至少为 2 时,才能使用 该 API,_execute_browser_action(和_execute_page_action)命令常用于打开扩展程序 的弹出窗口,它们通常不会产生开发者可以处理的事件。如果开发者需要根据弹出窗 口的打开位置来采取不同的措施,可以考虑在弹出窗口的代码中监听 onDomReady 事 件,上述清单文件规定了 Windows 系统中打开该扩展程序的快捷键是 Ctrl+Shift+F, macOS 中的快捷键是 Control+Shift+F。
《智能前端技术与实践》——第1章 开发环境配置——1.6 使用 Google 浏览器——1.6.2 Google 浏览器扩展程序(下) https://developer.aliyun.com/article/1228436?groupCode=tech_library