示例
// ==UserScript==
// @name Hello
// @namespace http://tampermonkey.net/hello
// @version 0.1
// @description try to take over the world!
// @author You Name
// @match https://zhihu.com/*
// @match https://juejin.cn/*
// @grant GM_log
// ==/UserScript==
(function() {
'use strict';
GM_log("Hello World");
})();
一个标准的 UserScript 由头部和核心逻辑两部分组成。头部的注释有特定的格式,也被称之为 Metadata Block。它用于描述这个脚本,通常包括脚本名、名称空间、版本和描述等信息,还有
历史
从 API 的前缀 GM_
可以知道,油猴最早指的是 Greasemonkey。这只油猴子是 Firefox 的一个附加组件,据说是谷歌员工不务正业时开发的。因为功能强大,所以油猴子很快被人推广到了其它的浏览器上,就有了谷歌 Chrome 浏览器上的 Tampermonkey 以及遨游浏览器上的 Violentmonkey,再后来 Tampermonkey 和 Violentmonkey 都支持多浏览器平台了。
开始制作自己的 UserScript
想要制作一个自己的 UserScript,需要事先掌握 JavaScript ,然后在这个基础上了解油猴提供的 API 和文件头写法。
有一个脚手架工具可以创建油猴项目,解决下面这些问题
- 怎么同步到远程仓库,怎么做代码分发
- 如果要用到新语法,怎么保证跨浏览器兼容性
- 如果代码越写越多,没有模块化怎么管理
- 没有 TS,很难保证长期维护
唯一的问题是长期没有更新了。
Greasy Fork - 安全、实用的用户脚本大全 是油猴脚本的发布平台
https://openuserjs.org/ 是另一个 Userscript 发布平台
参考文档
Tampermonkey 官方文档 主要分为 Userscript Header 和 API 两部分。
【轻松上手】油猴脚本开发 很棒的教程,推出了个脚手架,还包含一些调试技巧之后可以看一下
Tampermonkey 脚本编写指南 对 Header 和 API 做了中文的详细介绍