chrome扩展能够当作一中小型的应用,用来改善使用chrome浏览器时的体验。从实现角度看,就是一个.crx后缀命名的压缩包,里面包括但不限于HTML,JavaScript 和CSS文件。 对于功能比较多的扩展,也能够是vue 或者 react框架打包后的产物。javascript
修改浏览器主题,修改网页上的样式,获取网络信息,截图下载等功能,利用扩展均可以完成。html
必须有manifest.json
配置文件,做为扩展的入口,并且后面用到的全部脚本或组件,都须要在manifest中注册。vue
//manifest.json { // Required "name": "Getting Started Example", "version": "1.0", "manifest_version": 2 }
上面列出了必须字段,其中manifest_version
版本从chrome 18 开始,须要固定写成2,不带任何引号。java
在manifest.json
中指定后台脚本文件,用来监听浏览器事件。react
script
选项指定了须要注册的js文件路径。persistent
通常设置为false
,惟一须要设置persistently
为true的时候,是当前扩展用到了chrome.webRequest APi去阻止或修改网络请求。大部分状况设置"persistent": false
// manifest.json { ... + "background": { + "scripts": ["background.js"], + "persistent": false + }, }
而后在background.js 中初始化扩展。下面示例表示在安装完成后,立刻更新存储的color值。web
// background.js chrome.runtime.onInstalled.addListener(function() { chrome.storage.sync.set({color: '#3aa757'}, function() { console.log("The color is green."); }); });
权限许可,脚本中用到了那些api,对应的权限字段在这里列出来,好比前面用到了storageAPI。chrome
// manifest.json { ... + "permissions": ["storage"], }
在chrome开放者文档中,每一个api都列出了Permissions字段。。json
也能够是请求跨域接口的权限设置,好比api
"permissions": [ "https://\*.google.com/" ],
用户接口,能够是一个小型弹窗,提示框,右键菜单,自定义快捷键等。跨域
好比设置page_action
选项,只在指定页面中被激活,其余页面中处于灰色不可点击状态,弹窗的内容对应popup.html
页面
// manifest.json { ... + "page_action": { + "default_popup": "popup.html" + }, }
完整入门示例,能够在chrome开发者网站上下载
须要与manifest.json
配置中,指定的路径一致
chrome://extensions
,或者点击右上角菜单->More Tools(工具) -> Extensions(扩展程序). 勾选Developer Mode(开发者模式),练习过程当中,若是不清楚某些api用法,能够在https://developer.chrome.com/... 这里,搜索对应api编写的简单示例,更快上手。
在明确本身写插件的需求后,先在chrome应用商店中用关键词搜索一下是否有相应扩展。
自定义新标签页,能够选择多种壁纸
好用的翻译插件,集合了多个词典
3.JSONView
在地址栏中输入接口地址,对返回的json格式数据格式化,
4.Proxy SwitchyOmega
代理转发接口
5.掘金
推荐每日优质内容,不过跟Infinity扩展有冲突,默认显示在新开标签页,
截图,能够截整张网页,能够下载网页中全部图片,支持多种格式
7.Screencastify - Screen Video Recorder
屏幕录制,能够保存到Google Drive
进入沉浸式阅读,体验不错
9.JavaScript Errors Notifier
捕获页面的JavaScript报错,不用打开开发者工具
https://www.chromebus.cn/
https://chrome.zzzmh.cn/#ext
https://pictureknow.com