折腾浏览器这么多年,我一直觉得浏览器扩展是提升上网效率最直接的方式,而在所有扩展里,油猴(Tampermonkey)绝对算得上是一把“万能钥匙”。第一次接触它时,我还以为它只是某个网页小插件,后来才发现,这玩意儿本质上是给浏览器装了一套“脚本解释器”,能让你在别人网站的页面上执行自己的JavaScript逻辑。无论是清理页面广告、破解网页复制的限制、还是给后台管理界面加快捷按钮,只要有人写了脚本,你装上就能用。
这篇博文不聊虚的,就从油猴本身是什么、能解决什么问题开始,然后把安装这件事从头到尾捋一遍,包括不同浏览器的安装方法、安装完成后的基础配置、如何装第一个脚本,以及我实际用过之后踩过的那些坑。不管你是第一次听说油猴,还是已经装过但没玩明白,这篇文章都能给你一个清晰的操作路线。
1. 油猴到底是个什么工具
1.1 从用户脚本说起:浏览器也能“改头换面”
先聊聊用户脚本(User Script)这个概念。浏览器本身只能运行网页自带的JavaScript,这些代码是网站开发者写在页面里的,普通用户无权改动。用户脚本的思路则是:在页面加载完成后,再额外注入一段你自己的JavaScript代码,这段代码可以读取页面内容、修改DOM结构、监听用户操作,甚至模拟点击。
听起来很抽象,举个例子就好理解了。比如你在看小说网站,页面每一章的末尾都有一个很大的“下一页”按钮,有时候还有一堆弹窗。正常情况你只能忍受,但如果你写一段脚本,等页面加载完自动把弹窗移除、把下一页按钮的点击区域放大,体验立刻就变好了。用户脚本干的就是这种事,而油猴就是负责管理这些脚本的“容器”。
没有油猴之前,想跑一段用户脚本,你得手动在浏览器开发者工具里粘贴代码,页面一刷新就没了。有了油猴之后,脚本可以持久化存储、按域名匹配、自动加载,还可以设置启用停用,这才让用户脚本从“临时调试工具”变成真正能日常使用的生产力工具。
1.2 为什么大家默认选Tampermonkey
其实用户脚本管理器不止一个,最早有名的是GreaseMonkey,也就是“油猴”这个名字的出处。但在2010年之后,Tampermonkey逐渐成了主流,核心原因有几个。
第一,兼容性。Tampermonkey支持Chrome、Edge、Firefox、Opera、Safari等几乎所有主流浏览器,GreaseMonkey在有些浏览器上就没法用。第二,功能完整。它实现了大量GM_开头的API,比如GM_setValue、GM_xmlhttpRequest、GM_addStyle等,脚本作者能调用这些接口做复杂操作,而很多轻量级管理器对这些API的支持是不完整的。第三,更新频率。Tampermonkey至今仍在积极维护,开发者社区活跃,遇到浏览器版本升级导致的问题修复也快。
它和普通扩展还有一个本质区别。普通扩展打包的是完整的、固定功能的应用,用户只能按开发者预先设计好的方式使用;而油猴本身不提供功能,提供的是“平台”,上面跑什么脚本完全由你自己决定,换一个脚本就换一种体验,灵活性完全是另一个层次。
1.3 装了会不会拖慢浏览器
这是新手最常问的问题之一。答案是不一定。油猴对于每个匹配到的脚本,都需要在页面加载时注入并执行,执行本身会有一定耗时,但单个脚本如果写得规范,执行时间通常只有几毫秒到几十毫秒,完全感知不到。真正让浏览器变卡的情况,往往是脚本本身写得太烂,比如在循环里做了大量DOM操作,或者同时对几十个页面元素做监听。
还有一个更隐蔽的问题:匹配范围过大的脚本会影响无关网站。比如一个脚本写在“所有网站”上都运行,那每开一个页面,它都要跑一遍,累积起来就会拖慢整体效率。所以我在实际使用中有一条原则:只用匹配范围精确的脚本,能用特定域名绝不用“全部站点”。这不是油猴的问题,是脚本管理习惯的问题。
2. 安装前的准备和版本选择
2.1 支持哪些浏览器
在动手安装之前,先确认你的浏览器在支持列表里。Tampermonkey目前官方支持的范围很广:
- Google Chrome(桌面版、Android版都支持)
- Microsoft Edge(基于Chromium内核,4.x版本起原生支持)
- Mozilla Firefox
- Opera、Opera GX
- Safari(macOS)
- Brave、Vivaldi、等等
如果你用的是国内这些Chromium套壳浏览器,比如360极速、QQ浏览器这类,通常也都能通过“Chrome扩展”方式装进去,只是需要额外开启开发者模式才能加载第三方扩展,这个后面详细说。
有一个常见的认知误区是:只要用Edge浏览器就必须装Edge商店的版本,只要用Chrome就必须装Chrome商店的版本。其实对于新版的Tampermonkey,你完全可以从任意一个商店安装,然后在设置里启用它,浏览器允许从本地加载扩展之后,跨渠道使用问题不大。不过为了省事和减少兼容性隐患,我还是建议首选对应浏览器的官方商店。
2.2 固定版还是Beta版:怎么选
Tampermonkey有两个主要版本线:稳定版(BETA版)和正式版。官网首页一般默认引导你装稳定版,但如果你打开Tampermonkey的官网下载页,会看到Beta选项。
Beta版的好处是功能迭代更快,新API先上线,但代价是偶尔会出现不稳定情况。我个人建议普通用户直接装正式版,不折腾。除非你是脚本开发者,需要第一时间测试新API,否则Beta版带来的收益很小,风险却实实在在。
另外有些第三方网站会发布“绿色版”“破解版”的Tampermonkey压缩包,这类我劝你直接划走。Tampermonkey本身是免费的,不存在破解需求,这些压缩包里往往被塞进了推广脚本、恶意代码,装完轻则主页被锁定,重则账号数据被窃取。装扩展永远走官方渠道,这是第一条安全底线。
2.3 从哪下载、怎么辨认真伪
Tampermonkey的官方网站是tampermonkey.net,主页上有很明显的浏览器图标和下载按钮。点进去之后,它会根据你的浏览器自动跳转到对应商店页面。
有几个识别技巧可以分享:
- 查看域名是否准确,不要在搜索结果里点“推广链接”,而是自己输入tampermonkey.net
- 浏览器商店页面的开发者名称是“Jan Biniok”(作者本人)
- 商店页面的下载量和评分都很高,不要装一个评分几百个且名字相近的山寨扩展
Chrome Web Store的搜索栏里输入Tampermonkey,排在最前面的那个通常就是官方版。Edge商店同理,注意看清扩展名称旁边的发布者信息。
3. 手把手安装Tampermonkey扩展
3.1 Chrome扩展商店安装步骤
Chrome是Tampermonkey使用人数最多的平台,安装步骤也是最具代表性的。第一步是打开Chrome,地址栏输入Chrome Web Store网址,或者在搜索引擎里搜“Chrome Web Store”。进入商店后,左侧搜索框输入“Tampermonkey”,回车。
搜索结果里找出发布者为Jan Biniok的扩展,点击进入详情页。详情页右侧会有一个“添加至Chrome”的蓝色按钮,点击后会弹出一个权限确认框,里面列出了该扩展需要的权限。Tampermonkey通常会申请“读取和更改所有网站上的数据”这类权限,这意味着它可以读取你访问过的任何网页内容,所以一定要确认扩展来源可靠再进行下一步。
点击“添加扩展程序”后,浏览器会自动下载并安装。安装完成后,Chrome工具栏会出现一个黑白相间的Tampermonkey图标,如果没有看到,可以点一下工具栏右侧的拼图图标,在扩展菜单里找到它并点击图钉固定到工具栏。
到这里Chrome上的安装就结束了,整个过程不超过三分钟。如果你在商店页面看到的是“从网站添加”之类的提示,说明你的浏览器已经安装了非商店渠道的Tampermonkey,可以忽略这条提示继续使用。
3.2 Edge浏览器上怎么装
基于Chromium内核的新版Edge安装Tampermonkey有两种途径。第一种是直接访问Edge外接程序商店(Microsoft Edge Add-ons),搜索Tampermonkey,看到发布者为Jan Biniok的那个,点击“获取”按钮,再在弹窗里确认“添加扩展”。
第二种方式适用于你更信任Chrome商店的情况:打开Edge浏览器,访问Chrome Web Store,然后浏览器会提示“允许来自其他商店的扩展吗”,选择允许,之后就可以按Chrome的安装流程操作了。这个方法很多人不知道,但其实完全合法也安全,因为Chromium内核本身就支持加载Chrome商店的扩展。
安装完成后同样会在工具栏出现Tampermonkey图标。推荐在图标上右键,选择“在工具栏中显示”,方便之后快速开关脚本。
3.3 Firefox和其他浏览器的安装
Firefox的安装入口在Firefox附加组件中心(addons.mozilla.org)。搜索Tampermonkey,进入详情页点“添加到Firefox”,浏览器会弹出一个权限确认,点确定后自动完成安装。Firefox的历史版本和Chrome不同,它的扩展系统有过一次重大升级,现在所有新版Firefox都支持WebExtension标准,所以安装Tampermonkey没有任何问题。
Opera和Opera GX需要在Opera浏览器里打开附加组件商店,搜索Tampermonkey,安装方式类似。Safari用户则需要在Mac App Store里搜索Tampermonkey,安装后在Safari的“偏好设置-扩展”里启用它,首次启用时可能会要求“允许扩展在其他网站中运行”,确认即可。
有一类特殊情况是Chromium套壳浏览器,比如360安全浏览器、猎豹浏览器等。这些浏览器一般不支持直接访问Chrome商店,你需要先下载保险箱版的.crx扩展文件,然后在浏览器地址栏打开扩展管理页面,开启“开发者模式”,再把.crx文件拖进去。说实话这条路比较折腾,如果你用的是这类浏览器,建议优先考虑直接切换到Edge或Chrome,装扩展的体验会顺畅太多。
3.4 安装完成后怎么确认没问题
安装本身很简单,但很多人装完就以为万事大吉了,结果后续使用发现各种奇怪问题,其实第一步就没确认好。我装完任何扩展都会做三个检查。
第一个检查是看图标。工具栏上要有Tampermonkey的图标,说明扩展已加载。第二个检查是看仪表盘。点击图标,选择“管理面板”,能打开一个带脚本列表的界面,说明主程序正常。第三个检查是看控制台有没有报错。按F12打开开发者工具,切到Console标签页,如果看到tampermonkey相关的红色报错,说明你可能装了有问题版本或与其他扩展冲突,需要排查。
做完这三步,再往下装脚本,就很稳了。跳过这些检查直接开干,是我最初踩坑最多的时候,后来学乖了,每次换浏览器都先做一遍。
4. 装好之后:认识面板和第一个脚本
4.1 五个核心区域一次看懂
装好后的Tampermonkey,点击工具栏图标,会弹出一个菜单,里面有仪表盘、新建脚本、设置、联系我们等入口。新手建议先点开仪表盘(Dashboard),这是脚本的主管理界面。
仪表盘由几个区域组成:
- 已安装脚本列表:显示当前所有脚本,每一行的开关可以随时启用或禁用
- 脚本状态图标:小圆点绿色代表启用,灰色代表禁用
- 设置区域:包括统计信息、已安装脚本、设置、日志等页面切换
- “已安装脚本”页面的右上角:有“新增脚本”“添加新脚本”按钮,从这里可以创建或导入脚本
设置页面里最值得关注的是“通用”和“安全”两个标签。通用设置里的默认运行模式建议保持“自动”,持久化也要打开。安全标签里的“允许脚本访问本地存储”等项目默认关闭就好,不要轻易打开。
还有一个实用的小功能是“搜索”框,在仪表盘右上角,当你装了几十个脚本之后,靠这个搜索定位脚本非常省事。
4.2 安装你的第一个用户脚本
装脚本最正规、最安全的渠道是Greasy Fork(greasyfork.org),这是目前全球最大的用户脚本分享平台,所有脚本都是公开代码,接受社区审核。打开网站后在搜索框里输入你需要的功能,比如“网盘直链”“广告过滤”或者“视频倍速”,挑一个评分高、更新日期近的脚本点进去。
脚本详情页靠右侧有个“安装此脚本”的绿色按钮,点击后会弹出一个Tampermonkey的确认框。这个确认框和浏览器扩展安装时的确认框不同,它是Tampermonkey自己弹出来的,显示该脚本的元数据信息,包括匹配哪些网站、脚本版本、作者等。核对无误后点“安装”或“确认”。
回到脚本列表,你能看到这个脚本已经在里面了,并且默认启用。打开脚本匹配的网站,页面加载后脚本会自动运行。如果你不确定脚本有没有生效,最直接的办法是看控制台。按F12打开开发者工具,切到Console,搜索Tampermonkey输出的一些日志,大部分脚本作者会在脚本运行时打印一行提示信息。
有个细节要提醒:Greasy Fork上也有不少低质量甚至恶意脚本,判断标准就看几条:一是评分人数太少且全是五星,二是作者没有历史作品,三是要求权限过大但功能描述模糊。遇到这种脚本,建议先看评论区有没有人反馈异常,再决定要不要装。
4.3 动手写一个最简单的脚本练手
想要真正理解油猴,光装别人的脚本不够,我强烈建议你亲手写一个。别怕,哪怕是几十行的脚本也能让你瞬间明白它的运行机制。
在仪表盘里点击“新建脚本”,Tampermonkey会打开一个内置的代码编辑器,里面预填了一段模板。核心结构是开头的“用户脚本”注释块,它用键值对定义了脚本的基本信息:
// ==UserScript== // @name 新手练习脚本 // @namespace http://tampermonkey.net/ // @version 0.1 // @description 给所有页面加一个提示 // @author you // @match *://*/* // @grant none // ==/UserScript== (function() { 'use strict'; console.log('我的第一个油猴脚本跑起来了'); })();这里面@match字段决定了脚本在哪些网站上运行,*://*/*表示匹配所有http和https页面。@grant none表示不需要特殊权限。保存这个脚本后,随便打开一个网站,按F12看控制台,就能看到“我的第一个油猴脚本跑起来了”这句话。
试一下更“视觉化”的脚本,把函数体改成:
function sayHello() { let div = document.createElement('div'); div.textContent = '这是一个油猴脚本生成的提示'; div.style.cssText = 'position: fixed; top: 10px; right: 10px; z-index: 9999; background: #4CAF50; color: white; padding: 10px 20px; border-radius: 5px;'; document.body.appendChild(div); } sayHello();保存后再刷新页面,你会看到右上角多了一个绿色提示框。这个过程告诉我两件事:第一,油猴脚本的本质就是页面上的普通JavaScript;第二,@match规则非常重要,写错了脚本就不干活。
5. 常见问题和排坑实录
5.1 扩展商店打不开或下载失败
很多时候不是油猴的问题,而是你所在网络访问商店不稳定。如果反复加载失败,可以试试这几个办法:
- 刷新页面多等几十秒,有时候只是响应慢
- 切换浏览器试试,Edge打不开就换Chrome,反过来也一样
- 检查系统时间是否正确,时间不对会导致HTTPS证书校验失败
- 如果商店一直打不开,可以直接从Tampermonkey官网下载.crx文件,再手动拖进扩展管理页面安装
最后这种方法需要先在浏览器扩展管理页开启“开发者模式”,.crx拖入后浏览器会提示是否添加,确认即可。手动安装的缺点是不会自动更新,需要定期去官网看新版本,所以我只把它当临时方案。
5.2 装了脚本却没反应,问题出在哪
这是最见频率最高的问题,原因一般有四个。
第一个是脚本根本没匹配到当前网站。检查一下脚本的@match规则,很多脚本只针对特定域名,不是所有网站都生效。第二个是脚本被禁用了。去仪表盘确认脚本状态是绿色启用状态。第三个是脚本需要刷新页面才能生效,装完脚本后已经打开的旧页面不会自动重载脚本,必须刷新。第四个是网络加载顺序问题,极少数脚本由于页面加载时机问题需要等一会儿才执行,这时候手动刷新一次看看。
如果以上都排除了,就打开控制台看具体报错。常见报错有Uncaught ReferenceError,多半是脚本写的变量在某浏览器不支持;还有TypeError之类,通常是页面结构变化导致脚本找不到元素。碰到这种,说明脚本作者没及时更新,你可以去脚本页面反馈,或者找一个功能类似的替代脚本。
5.3 和其他扩展打架怎么处理
油猴偶尔会和其他扩展发生冲突,表现是页面功能异常、控制台报错,甚至浏览器崩溃。常见的原因是两个扩展同时修改了页面的同一个元素,比如广告过滤扩展和油猴脚本都去隐藏同一个广告位。
处理的思路是二分法:先把所有扩展禁用,只留Tampermonkey,确认问题是否还存在;如果不存在,再逐步启用其他扩展,启用一个就刷新测试一次,直到找出冲突对象。找到冲突扩展后,可以在Tampermonkey的脚本设置里使用排除匹配规则,让脚本不在某个特定页面上运行,绕开冲突。
5.4 安全使用脚本的几条铁律
脚本是代码,能做好事也能做坏事。我在Greasy Fork上见过一些脚本表面功能正常,背地里却偷偷往页面里插入广告、收集表单数据。所以关于脚本安全,我总结了几条经验:
- 不在不信任的网站安装来路不明的脚本,尤其是那种压缩成一行、没有任何注释的混淆代码
- 安装前先点开脚本的“代码”标签页,扫一眼有没有可疑的请求地址
- 尽量避免安装要求任意网站权限却只做简单功能的脚本
- 不要轻易开启设置里的“安全模式”关闭选项,Tampermonkey默认的安全提示都是有理由的
- 脚本建议定期清理,不用的就禁用,别一堆休眠脚本堆在那边
另外还要特别注意:油猴本身不会窃取你的数据,但如果你装了一个恶意脚本,它有能力读取你正在登录的网页里的内容。所以把“只装可信脚本”当作底线,未知作者的新脚本先放着观察一阵再启用也不迟。
回顾我这几年的使用经历,油猴最让我上瘾的一点就是“万物皆可脚本化”。每次遇到一个重复性的网页操作,我的第一反应不是去搜有没有现成工具,而是想“能不能写个脚本自动化掉”。这是一种思维方式的改变。如果你刚入门,不妨从安装它开始,先把操作流程跑通,再慢慢探索脚本里那个更自由的世界。最后提醒一句,任何脚本都只是辅助工具,别为了“自动化”去破解账号登录、绕过付费墙这类事情,合理合法地使用,才能让这个工具陪我们走得更远。