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