85个实用UserScript脚本:提升浏览器效率与网页交互体验
1. 项目概述与核心价值
如果你和我一样,是个重度浏览器用户,每天要在各种网页上处理信息、查找资料,那你肯定也遇到过这些烦心事:想快速回到页面顶部,得疯狂滚鼠标滚轮;想复制个链接,结果网页自作主张地给你复制了一堆乱七八糟的东西;或者面对一个密密麻麻、毫无重点的表格,看得眼花缭乱。这些看似微小的不便,累积起来却极大地影响了我们的浏览效率和心情。
今天要聊的这个项目,ChinaGodMan/UserScripts,就是一个专门解决这类“网页浏览体验痛点”的武器库。它不是一个单一的软件,而是一个由85个独立、轻量的用户脚本(UserScript)组成的集合。这些脚本就像给你的浏览器安装了一个个“外挂”,能针对性地优化特定网站或解决通用性的网页交互问题。开发者“人民的勤务员”将这些工具开源在GitHub上,供所有用户免费使用和修改。
这个项目的核心价值在于它的**“即插即用”和“精准打击”**。你不需要为了一个功能去安装一个庞大的浏览器扩展,可能那个扩展还附带了你不需要的广告或追踪。用户脚本通常只有几十KB,功能单一纯粹,只在你访问特定网站时激活,用完即走,对浏览器性能的影响微乎其微。比如,它的“上下滚动按钮”脚本,就是在所有网页右侧添加两个小巧的箭头按钮,点击就能平滑滚动,比用鼠标或键盘快得多,也优雅得多。
从项目数据来看,所有脚本的总安装量相当可观,每日使用次数也很活跃,这证明了它确实切中了很多用户的真实需求。无论是为了提升工作效率的程序员,还是追求更好阅读体验的普通网民,都能在这里找到适合自己的工具。接下来,我们就深入拆解这个宝藏库,看看它到底能为我们做些什么,以及如何最高效地利用它。
2. 脚本生态与工具选型解析
在深入具体脚本之前,我们得先搞清楚两个基础概念:用户脚本(UserScript)和脚本管理器(UserScript Manager)。你可以把用户脚本理解为一小段用JavaScript写的“魔法指令”,它能告诉浏览器:“当用户访问某个特定网页时,请自动执行这些操作来修改页面。” 这些操作可以是添加按钮、改变样式、拦截请求、提取数据等等。
但是,浏览器本身并不能直接理解和运行这些“魔法指令”。这时就需要一个“翻译官”兼“指挥官”,这就是脚本管理器。它是一个浏览器扩展,负责安装、管理、调度这些用户脚本。当你在GreasyFork这类脚本社区看到一个喜欢的脚本,点击“安装”时,实际上是脚本管理器接管了这个过程,并将脚本代码存储起来。之后,每当你访问符合脚本设定规则的网站,管理器就会自动注入并执行这段代码。
2.1 主流脚本管理器横向对比
ChinaGodMan/UserScripts项目明确推荐了几款主流的脚本管理器,它们各有特点。了解它们的区别,能帮你做出最适合自己的选择。
| 管理器名称 | 核心特点 | 适合人群 |
|---|---|---|
| Tampermonkey | 历史最悠久,用户基数最大,功能最全面,支持高级API和云同步(付费)。插件商店评分高,教程和社区资源最丰富。 | 绝大多数用户,尤其是新手和追求稳定、功能全面的用户。 |
| Violentmonkey | 开源免费,注重隐私,没有高级付费功能。界面相对简洁,基本功能与Tampermonkey类似,云同步依赖第三方服务。 | 注重开源精神、隐私保护,且不需要Tampermonkey高级功能的用户。 |
| ScriptCat | 后起之秀,国产开发者作品。除了脚本管理,还强化了脚本开发功能,内置编辑器、调试器,对中文用户友好。 | 有一定开发能力,或想学习、调试脚本的用户。 |
| Greasemonkey | 用户脚本的“鼻祖”,最早的工具。目前主要维护版本是Greasemonkey 4+,在某些方面(如API)可能与新脚本存在兼容性问题。 | 怀旧用户,或特定依赖Greasemonkey旧版API的脚本使用者。 |
个人经验之谈:我长期混迹于这个圈子,实测下来,对于绝大多数只想“用”脚本的普通用户,Tampermonkey仍然是首选。它的稳定性、兼容性和庞大的用户基础意味着你遇到的任何问题,几乎都能在网上找到解决方案。Violentmonkey是优秀的免费替代品。而如果你对脚本是如何工作的感到好奇,甚至想自己动手改一改,ScriptCat提供的开发环境会让你事半功倍。
2.2 脚本来源与安全须知
ChinaGodMan/UserScripts项目本身托管在GitHub,但它主要的发布和分发平台是GreasyFork。这是一个全球性的用户脚本社区,你可以把它想象成“脚本界的App Store”。在这里,你可以浏览、搜索、安装海量脚本。
安全是使用用户脚本的第一要务。因为脚本拥有修改网页内容的极高权限,一个恶意的脚本可以窃取你的密码、监控你的浏览记录、甚至进行网络攻击。因此,务必遵循以下原则:
- 选择可信来源:优先从GreasyFork、GitHub等知名平台获取脚本。ChinaGodMan的脚本都发布了GreasyFork链接,这是可靠的安装渠道。
- 查看脚本代码:在安装前,稍微滚动一下安装页面下方的代码区域。虽然看不懂全部,但可以留意是否有明显可疑的网络请求(到陌生域名)、混淆加密的代码块,或者过于宽泛的权限申请(如
@match *://*/*表示匹配所有网站,需谨慎)。 - 关注更新和评价:GreasyFork上会显示脚本的更新日期、安装量、用户评分和讨论。一个长期不更新、差评多的脚本需要警惕。ChinaGodMan的脚本更新频率和好评率都较高,这是积极的信号。
- 理解脚本权限:安装时,管理器会提示脚本要求访问的网站权限。确保其请求的权限与其描述的功能相符。
项目README中也明确提到了“脚本来自互联网广大网友,本人仅是做了些许改动...如有侵权,联系必删”,这体现了开源社区的协作精神,同时也提醒我们,在使用任何第三方代码时,保持一份审慎是必要的。
3. 核心脚本分类详解与实战应用
ChinaGodMan的脚本库涵盖了11个大类,超过85个脚本。我们不可能逐一讲解,但可以挑出每个类别中最具代表性、最实用的脚本,深入剖析其工作原理和能解决的具体问题。
3.1 网页通用增强类脚本
这类脚本不针对特定网站,而是提升你在所有网站上的浏览体验,属于“基础设施”级别的优化。
3.1.1 滚动控制双雄:上下滚动按钮与置顶和置底按钮
这两个脚本都解决了长页面导航的痛点,但侧重点不同。
上下滚动按钮:在页面右侧添加向上和向下两个箭头按钮。点击向上按钮,页面平滑滚动到顶部;点击向下按钮,页面平滑滚动到底部。它的逻辑很简单,就是监听点击事件,然后执行window.scrollTo({ top: 0, behavior: 'smooth' })或滚动到document.body.scrollHeight。平滑滚动(smooth)这个细节很重要,瞬间跳转会让人迷失位置,平滑过渡则体验舒适。置顶和置底按钮:这个脚本更进了一步。它同样提供“回到顶部”按钮,但它的“置底”按钮功能是持续滚动。点击一次,页面会以恒定速度自动滚动到底部;在滚动过程中再次点击,则会停止滚动。这个功能在浏览超长论坛帖子、连续阅读或快速翻阅时极其好用。其实现原理是使用setInterval定时器,每隔十几毫秒将scrollTop增加一个固定值,直到到达底部。
实操心得:我通常两个都装,但会根据场景选择。快速跳转首尾用前者,需要“放手”自动阅读时用后者。注意,有些网站有自己的浮动工具栏,可能会和这些按钮位置重叠,这时可以尝试在脚本管理器中调整脚本的执行顺序(让脚本后执行),或者修改脚本的CSS,调整按钮的
z-index值使其置顶。
3.1.2 剪贴板守护者:网页写入剪辑版授权管理器
你是否遇到过这种情况?点开一个网页,还没来得及复制,它就已经自动把一段推广文案或链接复制到了你的剪贴板,覆盖了你之前辛苦复制的内容。这个脚本就是专治这种“流氓行为”的。
它的核心是重写(Monkey Patch)了浏览器的剪贴板API。具体来说,它拦截了document.execCommand('copy')和较新的navigator.clipboard.writeText()方法。当网页试图执行复制操作时,脚本会弹出一个授权对话框询问你是否允许。你可以选择“允许一次”、“始终允许在此网站”或“拒绝”。这相当于给网页的剪贴板写入操作加了一把锁,钥匙在你手里。
技术细节:脚本通过GM_registerMenuCommand创建了一个管理菜单,你可以随时查看和管理各网站的授权状态。其数据通过GM_setValue/GM_getValueAPI 存储在本地,保证了设置的持久化。这是一个展示如何用用户脚本增强浏览器安全性的绝佳例子。
3.1.3 视觉优化利器:移除链接下划线与绚丽渐变美化网页表格
这两个脚本专注于提升视觉体验。
移除链接下划线:原理非常简单,就是向页面注入一段CSS样式:a { text-decoration: none !important; }。!important用于覆盖网站原有的样式。但它更聪明的地方在于,它使用了MutationObserverAPI 来监听DOM变化。这意味着即使页面是通过Ajax动态加载的内容(比如无限滚动的社交媒体),新出现的链接也会被立刻去掉下划线,实现了“动态处理”。绚丽渐变美化网页表格:这个脚本让枯燥的数据表格变得一目了然。它会遍历页面上的所有table元素,为每一列(td)的背景色应用一个从左到右的CSS线性渐变。颜色通常是柔和过渡的(例如从浅蓝到浅绿),使得同一行的数据,在不同列上呈现出轻微的色差,极大地增强了可读性。它同样考虑了动态内容,确保新生成的表格也能被美化。
3.2 效率与信息处理类脚本
这类脚本帮助你更高效地获取和处理网页信息。
3.2.1 信息聚焦神器:网页关键词高亮显示/网页高亮关键字
这是两个功能相似但复杂度不同的脚本。它们都解决同一个问题:在长篇大论中快速定位你关心的关键词。
网页关键词高亮显示:相对轻量。它提供一个简单的输入框,让你输入关键词(多个关键词用空格或逗号分隔)。脚本会使用document.body.innerHTML结合正则表达式,将匹配到的关键词用<mark>标签包裹起来,并赋予一个高亮的背景色(如亮黄色)。它也会用MutationObserver来高亮动态加载的内容。网页高亮关键字:功能更强大。除了基本的高亮,它可能提供了更多自定义选项,比如高亮颜色选择、是否区分大小写、是否全词匹配等。它可能将配置存储在GM_setValue中,实现跨页面的设置记忆。这对于需要长期追踪某些特定术语的研究人员或学生来说非常有用。
3.2.2 浏览效率倍增器:小窗预览
这个脚本的设计非常精妙,它模拟了某些操作系统(如macOS)和浏览器(如Edge)的“链接预览”功能。当你拖拽一个链接时(可设置为长按触发),脚本会阻止默认的拖拽行为,转而创建一个半透明的、带有亚克力毛玻璃效果的小窗口。在这个窗口里,它会利用类似Edge的“预读(Preload)”技术,提前加载链接的目标页面并显示其预览(可能是标题、首图或摘要)。
核心实现思路:
- 监听页面的
dragstart事件,捕获被拖拽的元素(<a>标签)。 - 阻止默认事件,获取链接的
href属性。 - 创建一个固定在屏幕上的
div作为预览窗口,应用CSSbackdrop-filter: blur(...)实现亚克力效果。 - 在这个
div中创建一个<iframe>或通过fetch请求链接内容,解析并展示关键信息。 - 记录用户为不同网站调整的窗口大小(通过
resize事件监听),并使用GM_setValue按域名存储,实现个性化记忆。
这个功能让你在不离开当前页面的情况下,快速判断一个链接是否值得点开,是提升信息筛选效率的利器。
3.3 特定网站优化类脚本
这类脚本针对GitHub、YouTube、Twitter等具体网站进行深度优化,解决这些平台自身的某些不便之处。由于ChinaGodMan的脚本库中此类脚本众多,我们选取几个典型。
3.3.1 GitHub增强系列
GitHub是程序员的家园,但官方界面仍有优化空间。该项目的GitHub脚本可能包含以下功能:
- 代码树增强:让文件树(Repo Tree)可固定、可缩放,或增加快速搜索文件的功能。
- 下载加速:为仓库的Clone和Release下载按钮添加国内镜像源选项(如通过jsDelivr加速),解决直连缓慢的问题。
- 界面净化:隐藏不常用的界面元素(如Trending推荐),让页面更专注于代码本身。
- PR/Issue增强:为Pull Request或Issue列表添加更丰富的筛选、排序或批量操作按钮。
这些脚本通常通过等待页面特定元素加载完成(MutationObserver或setInterval检查),然后向DOM中插入自定义的控制按钮或修改现有元素的样式来实现。
3.3.2 视频平台助手(YouTube/Bilibili)
对于视频网站,脚本的优化方向主要集中在播放体验和效率上:
- 播放控制:增加播放速度微调(如0.1倍递进)、一键跳过片头片尾(SponsorBlock集成)、强制高清/解码方式等。
- 界面定制:隐藏评论区、推荐视频侧边栏,实现“专注模式”;或者自定义播放器控件的布局。
- 下载增强:虽然不能直接提供盗版下载,但有些脚本可以提取出视频的直接播放流链接(m3u8或mpd),供专业下载工具使用(需注意版权)。
- B站特供:可能包含自动展开剧情简介、简化首页、去除某些活动横幅等针对B站本土化特性的优化。
3.3.3 社交媒体与翻译优化
- Twitter/X:脚本可能致力于恢复经典的旧版UI布局、增加推文阅读时间估算、批量管理(取关、静音)、或增强媒体下载能力(保存图片/GIF)。
- 翻译集成:在网页上实现划词翻译,或为整个页面提供一键翻译按钮,可能深度对接DeepL、Google Translate等服务的API(需要用户自行配置密钥),实现比浏览器自带翻译更流畅的体验。
4. 脚本的安装、管理与高级配置实战
知道了脚本能做什么,接下来就是如何让它为你工作。整个过程就像给手机安装APP一样简单。
4.1 一步步安装你的第一个脚本
我们以安装最通用的“上下滚动按钮”脚本为例,在 Chrome/Edge 浏览器中使用Tampermonkey。
- 安装脚本管理器:打开 Chrome 网上应用店,搜索 “Tampermonkey”,找到由 Jan Biniok 开发的扩展,点击“添加到 Chrome”。
- 访问脚本页面:在ChinaGodMan的GitHub项目页找到“上下滚动按钮”,或者直接访问其GreasyFork页面(通常README中会提供直达链接)。
- 一键安装:点击绿色的“安装此脚本”按钮。Tampermonkey 会弹出安装确认窗口,里面显示了脚本的名称、版本、描述以及它将要运行的网站(
@match规则,例如*://*/*表示所有网站)。 - 确认安装:仔细查看权限,确认无误后点击“安装”。安装成功后,Tampermonkey 图标上可能会显示一个数字,表示已启用的脚本数量。
现在,随便打开一个长网页(比如一篇新闻),你应该能在页面右下角看到新出现的向上和向下箭头按钮。点击试试,页面应该平滑滚动。
4.2 脚本管理器的核心功能与设置
安装只是第一步,管理好你的脚本库才能发挥最大效能。点击浏览器工具栏的Tampermonkey图标,选择“仪表盘”,你会进入控制中心。
- 脚本列表:这里展示所有已安装的脚本。你可以通过开关快速启用或禁用某个脚本。
- 脚本设置:点击脚本名称,进入详细设置。这里非常重要:
- 运行时机:可以设置脚本在
document-start(页面加载开始时)、document-end(加载结束时)或document-idle(空闲时)执行。大多数脚本使用document-end。 - 匹配规则:
@include和@exclude规则决定了脚本在哪些网址运行。你可以手动修改来微调。例如,如果你只想让“移除链接下划线”在某个特定网站失效,可以在@exclude里添加该网站的域名。
- 运行时机:可以设置脚本在
- 实用选项:
- 允许脚本访问跨域资源:有些脚本需要从其他域名获取数据(如翻译API),需要勾选此选项。
- 在无痕模式下启用:默认不启用,如需可打开。
- 备份与同步:Tampermonkey 的免费版支持将配置导出为本地文件(
.zip)。定期备份是个好习惯。付费版支持云同步,方便在多设备间同步你的脚本配置。
4.3 脚本冲突排查与调试技巧
当你安装的脚本越来越多,难免会遇到冲突——两个脚本试图修改页面的同一个部分,导致页面错乱或功能失效。
排查步骤:
- 隔离法:在Tampermonkey仪表盘中,一次性禁用所有脚本,然后逐个启用,每启用一个就刷新页面检查,直到找到引发问题的脚本。
- 检查控制台:按F12打开开发者工具,切换到“Console”标签页。刷新页面,查看是否有红色的JavaScript报错信息。错误信息通常会指出是哪个脚本的哪一行代码出了问题。
- 调整执行顺序:在Tampermonkey的“设置” -> “通用”中,可以调整脚本的执行模式为“顺序”。然后在脚本列表里,通过拖拽调整脚本的顺序。让有问题的脚本在其他脚本之前或之后执行,有时能解决冲突。
高级调试: 如果脚本功能不正常,你可以尝试:
- 查看脚本源代码:在仪表盘点击脚本名,查看其代码。虽然可能看不懂全部,但有时注释或明显的逻辑错误能提供线索。
- 使用ScriptCat:如果你对开发感兴趣,切换到ScriptCat管理器是个好选择。它内置了强大的调试器,可以设置断点、单步执行、查看变量,是诊断复杂脚本问题的利器。
踩坑记录:我曾经同时安装了两个修改GitHub导航栏的脚本,导致按钮重叠。通过“隔离法”发现冲突后,我选择了功能更全面的那个脚本,禁用了另一个。有时,不是脚本不好,而是“一山不容二虎”。
5. 安全策略、社区参与与项目维护
使用开源脚本是一件互利互惠的事情。我们在享受开发者劳动成果的同时,也应了解如何安全地使用,并在有能力时回馈社区。
5.1 构建个人脚本安全防线
除了之前提到的“选择可信来源”,还有几条进阶安全准则:
- 最小权限原则:在安装脚本时,留意其要求的网站匹配规则。一个仅仅用于美化表格的脚本,理论上不应该要求
*://*/*(所有网站)的权限。如果遇到,需要保持警惕。你可以安装后,手动在脚本设置里将其权限范围缩小到具体的域名。 - 定期审计与更新:每隔一段时间,回顾一下你安装的脚本列表。那些很久没有更新(比如超过一年),或者作者已不再活跃的脚本,可以考虑寻找替代品或直接删除,以降低安全风险。Tampermonkey 有脚本更新通知功能,请保持开启。
- 隔离环境测试:对于来源相对陌生或功能强大的新脚本,可以先用浏览器的“无痕模式”或创建一个新的浏览器用户配置文件进行测试,观察其行为是否与描述一致,再决定是否在主环境中安装。
- 关注代码更新日志:ChinaGodMan的许多脚本都提供了
CHANGELOG.md(更新日志)。在更新脚本前,花一分钟看看日志,了解修复了哪些Bug、增加了什么功能,这能帮助你判断更新是否必要,以及新版本是否稳定。
5.2 参与开源:从使用到贡献
ChinaGodMan/UserScripts是一个开源项目,这意味着任何人都可以查看、使用、修改和分发它的代码。如果你在使用中发现了Bug,或者有一个绝妙的改进想法,你可以通过以下几种方式参与:
- 提交Issue:在GitHub项目的“Issues”页面,你可以报告发现的错误。一个高质量的Issue应该包括:清晰的问题描述、重现问题的步骤、期望的行为、实际发生的行为、以及你的浏览器环境(浏览器版本、脚本管理器版本、脚本版本)。如果能附上截图或错误日志,那就更好了。
- 发起讨论:对于不确定是否是Bug的功能建议,或者使用上的疑问,可以在项目的“Discussions”板块发起讨论。这是一个更开放的交流空间。
- 贡献代码(Pull Request):如果你有编程能力,并且修复了一个Bug或实现了一个新功能,你可以:
- Fork 这个项目(创建你自己的副本)。
- 在你的副本上进行修改。
- 向原项目发起一个 Pull Request(PR),请求作者合并你的修改。
- 在PR中详细说明你修改了什么,以及为什么这样修改。
5.3 项目的维护哲学与未来
从项目的更新频率、多语言README、详细的分类和持续增长的脚本数量来看,维护者“人民的勤务员”投入了相当大的精力。这个项目体现了一种实用的开源精神:收集和打磨那些能解决实际“小问题”的工具,并将它们免费、清晰地呈现给社区。
对于用户而言,这个项目就像一个可自由组合的“浏览器增强套件”。你不必接受一个庞大软件包里的所有功能,而是可以像搭积木一样,只挑选你需要的部分。这种模块化、轻量化的思路,正是用户脚本生态的魅力所在。
随着Web技术的不断发展(如更多的原生API、PWA等),用户脚本的形态和实现方式也可能演进。但核心诉求不会变:让浏览器更听话,让网络冲浪更高效、更舒适。无论是通过拦截API来保护隐私,还是通过注入UI来提升操作效率,用户脚本始终是连接用户意志与网页呈现之间最灵活的那座桥梁。
最后,就像项目README里那句朴实的话:“如果脚本对你有帮助,可以点亮星星以资鼓励。” 在GitHub上给喜欢的项目点个Star,是对开源作者最简单也最直接的支持。这份鼓励,会驱动着像ChinaGodMan这样的开发者,继续为我们创造出更多好用的工具。
