编写你的第一个油猴脚本

油猴简介

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
posted @ 2020-10-23 15:40  XavierJ  阅读(574)  评论(0编辑  收藏  举报