油猴脚本(Tampermonkey scripts)是一种用户脚本,可以在网页上运行,用来修改网页的行为或外观。它们广泛用于自动化任务、增强网站功能或自定义用户体验。本文将详细介绍油猴脚本的常见语法和元数据标记,并通过示例帮助您快速上手编写自己的脚本。

什么是油猴脚本?

油猴脚本是一种基于JavaScript的用户脚本,能够在用户访问特定网页时自动执行。它可以用来改变网页内容、添加新功能或优化用户体验。电脑浏览器只需安装油猴脚本管理器(如Tampermonkey)或者通过手机安装木木脚本浏览器,用户就可以通过简单的代码实现强大的功能。

油猴脚本的核心在于其元数据(metadata),即脚本头部的配置信息。这些信息告诉脚本管理器如何处理和运行脚本。接下来,我们将逐一介绍常见的元数据标记及其用法。

油猴脚本的元数据标记

元数据使用特定的标记(tags)定义脚本的属性,格式为// @标记名 值,通常写在脚本的开头,以// ==UserScript==和// ==/UserScript==包裹。以下是常见的元数据标记及其功能:

1. @name

作用:定义脚本的名称,显示在脚本管理器中。

用法示例:

// @name         我的第一个油猴脚本

2. @namespace

作用:脚本的命名空间,用于区分不同作者或版本的脚本,通常是一个唯一标识符或网址。

用法示例:

// @namespace    http://mumudroid.com/my-scripts

3. @description

作用:脚本的简介,描述脚本的功能和用法。

用法示例:

// @description  这个脚本会在页面加载时弹出一个提示框。

4. @icon

作用:为脚本指定一个图标,显示在脚本列表和浏览器扩展菜单中。可以是URL或Base64编码的Data URI。

用法示例:

// @icon         https://mumudroid.com/icon.png

5. @author

作用:脚本作者的姓名或昵称。

用法示例:

// @author       John Doe

6. @version

作用:当前脚本的版本号,用于追踪脚本更新。

用法示例:

// @version      1.0

7. @match

作用:定义脚本的作用域,仅在匹配的网址或域名下运行脚本。可以有多行声明。

用法示例:

// @match        https://mumudroid.com/*

// @match        https://*.mumudroid.com/*

8. @include

作用:类似于@match,指定脚本的作用域,支持正则表达式,可多行声明。

用法示例:

// @include      /^https?://example\.com/.*/

9. @exclude

作用:排除某些URL,即使它们匹配@match或@include,可多行声明。

用法示例:

// @exclude      https://mumudroid.com/excluded-page

10. @require

作用:指定脚本执行前需要加载的第三方库或脚本,可多行声明。

用法示例:

// @require      https://code.jquery.com/jquery-3.6.0.min.js

11. @resource

作用:指定脚本依赖的资源文件,如CSS、文本或图片,可多行声明。

用法示例:

// @resource     myCSS https://mumudroid.com/style.css

12. @run-at

作用:指定脚本的执行时机,不同场景需要不同的时间点。取值包括:

document-start:文档开始加载时执行。

document-end:文档加载完成时执行(默认)。

document-idle:文档空闲时执行。

context-menu:右键菜单点击时执行。

用法示例:

// @run-at       document-start

13. @grant

作用:声明脚本需要使用的API函数(如GM_*函数),若无需特殊API可设为none。

用法示例:

// @grant        GM_setValue

// @grant        GM_getValue

HelloWorld示例脚本

这个脚本在特定网站上弹出一个提示框:

// ==UserScript==

// @name         我的第一个油猴脚本

// @namespace    http://mumudroid.com/my-scripts

// @version      1.0

// @description  这个脚本会在页面加载时弹出一个提示框。

// @author       John Doe

// @match        https://www.mumudroid.com/*

// @grant        none

// ==/UserScript==

(function() {

    'use strict';

    alert('Hello, world!');

})();

说明:脚本使用@match限定作用域,在https://www.mumudroid.com/*下运行,加载时弹出提示框。

如果你喜欢使用油猴脚本来定制网页体验,电脑浏览器你可以安装脚本管理器插件,而安卓手机上木木脚本浏览器将是一个值得尝试的选择。它是一款专为安卓设备打造的浏览器,支持安装、管理和运行油猴脚本,让你能够轻松实现自动化操作、修改页面样式或增强功能。

WechatIMG1010