油猴简介
Tampermonkey(油猴)是一款免费的浏览器扩展和最为流行的用户脚本管理器,它适用于 Chrome, Microsoft Edge, Safari, Opera Next, 和 Firefox。虽然有些受支持的浏览器拥有原生的用户脚本支持,但 Tampermonkey 将在您的用户脚本管理方面提供更多的便利。 它提供了诸如便捷脚本安装、自动更新检查、标签中的脚本运行状况速览、内置的编辑器等众多功能, 同时Tampermonkey还有可能正常运行原本并不兼容的脚本。(安装教程可以看这里)
油猴脚本
油猴只是一个脚本管理器,不是脚本。能在油猴环境下运行的脚本我们称为油猴脚本。该脚本头部是声明信息,比如你写的脚本叫什么名字呀,版本号是多少,适用于哪个网站等。代码部分使用javascript
(简称js)语言编写,用来实现相应的功能,比如音视频下载,论坛自动打卡签到等。这里推荐一个脚本下载网站Greasy Fork。
编写你的第一个油猴脚本
学习javascript
平常我们用的都是别人写好的脚本,如果你熟悉js语言,那么也可以自己编写。如果你不熟悉js,并且非常想学,这里推荐B站尚硅谷老师的共140集的js教程,讲解的非常全面和细致,小白完全也听得懂。当然,如果有一定的编程基础,2倍速食用更佳。
油猴脚本模板
有了js基础之后,我们就来开始写第一个油猴脚本。这里给出油猴脚本的一个模板:
// ==UserScript==
// @name New Userscript
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.jianshu.com/p/cf3f8d20bbfc
// @grant none
// ==/UserScript==
(function() {
'use strict';//指定代码在严格条件下执行
// Your code here...
})();
头部注释的部分是脚本的描述信息,也叫元属性值
。完整版元属性值介绍可以看这里。简单的介绍几个元属性:
属性 | 描述 |
---|---|
@name | 名称;也就是你给脚本起的名 |
@namespace | 命名空间;可以写你网站的域名 |
@version | 版本;脚本肯定要不断更新的不是 |
@description | 描述;你写的脚本是干什么的 |
@author | 作者;开发者的姓名 |
@match | 匹配;描述脚本会在哪些网站上运行 |
@grant | 权限;用于添加GM_ 函数到白名单 |
第一个油猴脚本
代码部分用js编写,这里就实现一个最简单的弹窗功能:alert('hello-world')
,完整版js文件:
// ==UserScript==
// @name hello-world
// @namespace https://blog.csdn.net/qq_42951560
// @version 0.1
// @description pop up 'hello-world' prompt
// @author ghgxj
// @match https://www.baidu.com/
// @grant none
// ==/UserScript==
(function() {
'use strict';
alert('hello-world');
})();
好了,现在就将代码保存为hello-world.js
文件,然后放到油猴里面。这里的@match
填写的是百度的域名,所以该脚本只针对百度有效。我们打开百度来测试一下:
可以看到我们写的hello-world.js
的脚本被执行了一次,并且百度页面弹窗显示hello-world
,说明我们测试成功了。
引用参考
https://blog.csdn.net/qq_42951560/article/details/109233301
https://www.tampermonkey.net/
https://greasyfork.org/zh-CN
https://www.bilibili.com/video/BV1YW411T7GX
https://greasyfork.org/zh-CN/help/meta-keys