注:本文的油猴特指 Tampermonkey。
油猴脚本运行于油猴插件之上,油猴插件本质上对浏览器能力的再封装。既然如此,我们先来简单了解一下浏览器插件。
说的直白一点,就是拿着浏览器开放的能力(插件 API),去实现一些小型应用。
浏览器插件主要由四部分构成:background scripts、content scripts、全局 UI 元素、options page。
content script
只能直接访问少量插件 API,但能和 background script
进行双向通信完成数据交换;浏览器插件的核心机制可以用下图简单概括
想必,大家最好奇的还是有哪些 API 以及能用这些 API 做什么,这里例举几个:
contextMenus
:增加右键选项
cookies
:增删改查 cookie(任意域名),直接拿着本地 cookie 发送请求,不必再做授权。同时由于后台脚本不是 Web 页面,在发送请求时没有跨域限制。:
devtools.panels
:增加 Devtool 面板,这个对前端开发者来说应该很熟悉,React Developer Tools、Vue.js devtoolsnotifications
:浏览器通知,未打开页面的情况下进行通知,可以辅助一些工具类应用storage
:全局保存数据,可跟随浏览器账户同步这里例举的只是我常用的一些,只是沧海一粟,更多 API 可以查阅