浏览器插件开发
插件是基于Web技术构建的,例如HTML、JavaScript和CSS。它们在单独的沙盒执行环境中运行并与Chrome浏览器进行交互
发布上传插件到谷歌商店
- 1、注册开发者账户
- 2、提交chrome扩展程序或者chrome插件
- 3、编辑chrome插件信息
manifest.json配置
manifest.json配置文件
- 配置快捷键
- 配置弹窗
- 配置权限
- 如配置书签,才能使用书签的api
{
// 插件名称
"name": "Hello Extensions",
// 插件的描述
"description" : "Base Level Extension",
// 插件的版本
"version": "1.0",
// 配置插件程序的版本号,主流版本是2,最新是3
"manifest_version": 2
}
content_scripts
- 用于定义内容脚本
- 用于与网页内容交互的脚本。内容脚本允许你在浏览器的页面上执行自定义的 JavaScript 代码,并与页面 DOM 进行交互
options_ui
options_ui用于定义插件的选项页面,即用户可以在浏览器中配置插件的地方。通过这个配置,开发者可以指定一个 HTML 文件,作为插件的选项页面
background
background用于定义插件的后台脚本。插件的后台脚本可以在插件安装后一直运行,用于执行一些后台任务、监听事件等
permissions
- 配置相关权限
- 如书签访问权限
设置弹框
- 经常会点击右上角插件图标时弹出一个小窗口的页面,焦点离开时就关闭了,一般做一些临时性的交互操作;在配置文件中新增
browser_action字段,配置popup弹框
{
....
// 新增popup弹框
"browser_action": {
"default_popup": "popup.html",
"default_icon": "popup.png"
}
}
快捷键
- 可以在manifest.json中设置一个键盘快捷键的命令,通过快捷键来弹出popup页面
{
....
// 新增命令
"commands": {
"_execute_browser_action": {
"suggested_key": {
"default": "Ctrl+Shift+F",
"mac": "MacCtrl+Shift+F"
},
"description": "Opens popup.html"
}
}
}
配置权限
- 1、必须在扩展程序清单中声明“书签”权限,才能使用书签 API。 例如:
{
"name": "My extension",
"permissions": [
"bookmarks"
],
}
跳转页面
浏览器插件的环境和普通网页的环境有所不同,有一些安全性和权限方面的限制,需要使用浏览器扩展提供的 API 来跳转页面
- chrome.tabs.create
chrome.tabs.create({ url: 'https://www.example.com' });