Tampermonkey 入门:浏览器油猴脚本管理器详解

什么是 Tampermonkey

Tampermonkey 是一款浏览器扩展,中文用户常把它叫做”油猴”。它的核心作用是管理和运行”用户脚本”(UserScript),也就是一段段可以注入到指定网页上运行的 JavaScript 代码。通过这些脚本,用户可以给任意网页添加新功能、修改界面、去除广告、自动化操作,从而绕开浏览器和网站本身的限制。

Tampermonkey 本身不内置具体功能,它更像一个”容器”或”平台”。所有增强能力都来自第三方编写的脚本,这些脚本发布在 GreasyFork、OpenUserJS、Sleazy Fork 等公开脚本站点,或者作者自己的代码仓库里。Tampermonkey 的角色是帮用户安装、更新、启用或禁用这些脚本,并提供编辑、权限管理等辅助工具。

Tampermonkey 在浏览器工具栏的图标与已安装脚本的管理面板-1

核心功能

脚本安装与管理

安装脚本的方式非常直观:访问脚本站点,点击”安装”按钮,浏览器会自动弹出确认页,显示脚本的源代码、元数据、匹配规则和权限要求,用户确认后即可启用。已安装的脚本会出现在 Tampermonkey 的管理面板中,可以按域名、启用状态、更新时间等条件筛选和排序,也可以分组、置顶、批量操作。

自动更新

脚本作者发布新版本后,Tampermonkey 会按设定的检查频率(默认每天一次)轮询脚本来源地址,发现版本号变化就提示用户更新。用户也可以手动”立即检查更新”,或者在面板里将某个脚本固定在某个旧版本上,避免意外升级带来问题。

脚本编辑

面板内置了一个简单的代码编辑器,支持语法高亮、行号显示和保存到本地。临时调试一些改动很方便,但因为不是完整的 IDE,写复杂脚本还是建议在外部编辑器里写好后粘贴进去。

云同步(可选)

Tampermonkey 提供付费的云同步服务,可以把脚本和配置同步到多个设备。对于免费用户,脚本本身依赖来源地址天然具备”跟着源更新”的特性,多设备同步更多依靠浏览器自带的扩展同步,或者通过备份配置文件自行解决。

权限控制

每个脚本都会在元数据里声明它要访问的网站(@match@include)以及它需要的 GM 函数(如 GM_setValueGM_xmlhttpRequest 等)。Tampermonkey 在安装时把这些权限明确呈现给用户,运行时也会按沙箱规则限制脚本的能力,对跨域请求等敏感操作给出提示。

完全免费,跨平台支持

Tampermonkey 在 Chrome、Edge、Firefox、Safari、Opera 以及众多 Chromium 内核的国产浏览器上都有官方版本,可以从对应浏览器的扩展商店直接下载并自动更新。在移动端,安卓版 Firefox 同样支持 Tampermonkey,搭配油猴脚本可以在手机浏览器上实现很多原本只能在桌面端做的操作。

需要注意的是,不同浏览器的扩展商店政策不同,部分浏览器(如某些 Chromium 内核套壳)可能没有上架 Tampermonkey,或者商店版本的功能有所裁剪。这种情况下通常需要从 Tampermonkey 官网下载离线安装包手动加载,建议以官网说明为准。

适用场景

油猴脚本能做的事情大致可以分成几类:

  • 网页功能增强:给 B 站增加下载按钮、夜间模式、快捷键操作、解除地区限制等,前面提到的 Bilibili Evolved 就是典型代表。
  • 去广告与界面净化:拦截视频网站的片头广告、去除资讯网站的悬浮弹窗、隐藏社交平台的推广信息等。
  • 下载助手:抓取网页上的视频、音频、图片、文档等资源,绕过网页本身的下载限制或格式约束。
  • 自动操作:签到、刷课、表单自动填写、定时刷新抢票、批量下载等。
  • 解锁限制:绕过会员墙、解除复制粘贴限制、显示默认隐藏的内容、修改网页字体和排版等。

本质上,只要网页的行为可以通过 JavaScript 干预,理论上都能通过脚本实现或绕过。这也是油猴生态长盛不衰的原因。

进阶玩法

GreasyFork 脚本站

GreasyFork 是目前最大、最活跃的公开脚本站,按语言、浏览器、评分、维护状态做了比较完善的分类。搜索时建议先用关键词定位,再用”最近更新”和”评分”过滤掉长期未维护的脚本。对于中文用户,GreasyFork 还提供了中文界面和按站点分类的浏览入口,使用门槛很低。

GreasyFork 脚本列表页面,展示脚本评分、匹配站点和更新时间等筛选信息-2

自己写脚本

入门用户脚本其实门槛不高:一个最简单的脚本只需要写一个 @match 元数据声明作用页面,然后写一段 JavaScript 在 DOMContentLoaded 之后执行就行。例如:

// ==UserScript==
// @name         Hello Demo
// @namespace    https://example.com
// @version      0.1
// @description  示例脚本
// @match        https://example.com/*
// @grant        none
// ==/UserScript==

(function () {
    'use strict';
    console.log('Hello from Tampermonkey');
})();

进阶一点会用到 GM API(GM_setValueGM_xmlhttpRequestGM_addStyle 等)和 @require 引入外部库。Tampermonkey 官方文档对每一个 GM 函数都有说明,遇到具体参数和行为时建议以官方文档为准。

权限与安全注意

脚本运行在用户身份下,能拿到当前登录态的 cookie、能调用任意接口、能读写页面 DOM,权限非常大。因此安装脚本前要注意几点:

  • 优先选择用户多、长期维护、有公开代码仓库的脚本。
  • 仔细看脚本元数据里声明的 @grant@match,只给它必要的权限。
  • 警惕要求 GM_xmlhttpRequest 到陌生域名的脚本,这可能意味着脚本会把页面数据外发。
  • 浏览器提示”脚本试图访问跨域资源”时,确认是脚本作者声明的用途后再选择”始终允许”。

Tampermonkey 与 Violentmonkey、Greasemonkey 对比

除了 Tampermonkey,常见的同类工具还有 Violentmonkey 和 Greasemonkey。它们都能运行用户脚本,但在实现细节上有所不同。

项目 Tampermonkey Violentmonkey Greasemonkey
价格 免费(云同步为付费功能) 完全免费开源 完全免费开源
浏览器支持 Chrome、Edge、Firefox、Safari 等 Chrome、Edge、Firefox 等 仅 Firefox
内置编辑器 有,基础语法高亮
云同步 付费提供 不提供 不提供
兼容性 绝大多数脚本通用 绝大多数脚本通用 仅支持 Firefox 4+ API 子集,旧脚本可能不兼容
代码开源

简单来说:Tampermonkey 功能最完整、生态最广,但代码闭源;Violentmonkey 是开源替代品,行为更贴近标准,体积轻巧;Greasemonkey 历史最久,但已经停止支持很多新 API,兼容性最差。如果只是希望”装上就能用”,Tampermonkey 是最省心的选择;如果更在意开源和可审计性,Violentmonkey 是合理的替代方案。

Violentmonkey、Tampermonkey、Greasemonkey 三者的管理面板横向对比示意-3

使用建议

Tampermonkey 的价值不在于”它本身能做什么”,而在于”它让用户能做什么”。它把修改网页的能力从开发者手里下放到了普通用户手里,配合 GreasyFork 上的海量脚本,几乎可以应对日常浏览中遇到的各种小问题。但能力越大责任也越大,脚本相当于在浏览器里运行任意第三方代码,安全性只能靠用户自己甄别。从可信任的来源安装、看清权限声明、定期清理不再使用的脚本,是长期使用油猴的良好习惯。对于刚接触的用户,建议先从评分高、维护活跃的几款经典脚本入手,再逐步尝试更多功能。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。