什么是用户脚本(userscript),如何安装和使用?
用户脚本(userscript)是一段由浏览器在特定网页上自动执行的 JavaScript 代码,用来修改页面外观、增加功能或自动化重复操作。要使用它,你需要两样东西:一个用户脚本管理器(如 Tampermonkey、Greasemonkey 或 Violentmonkey),以及从脚本仓库(如 OpenUserJS)获取的脚本文件。安装管理器后,打开脚本页面点击安装,脚本就会在匹配的网站上生效。
用户脚本能做什么
用户脚本运行在网页加载之后,因此可以操作页面上的元素和数据。常见用途包括:
- 增强网页功能:给网站补上缺失的按钮、快捷键或批量操作。
- 过滤与清理:隐藏广告位、弹窗、推荐模块,让页面更干净。
- 自动化操作:自动填写表单、批量下载、定时刷新等重复性任务。
- 调整显示:改变字体、配色、布局,或把内容导出成其他格式。
脚本的生效范围由它自己声明的匹配规则决定,通常只在你指定的域名或路径下运行,不会作用于所有网站。
安装用户脚本管理器
用户脚本本身不能直接在浏览器里运行,需要先装一个管理器扩展。三者的定位大致如下:
| 管理器 | 适用浏览器 | 特点 |
|---|---|---|
| Tampermonkey | Chrome、Edge、Firefox、Safari 等 | 用户量大,界面功能较全,跨浏览器支持广 |
| Greasemonkey | Firefox | 历史最久,Firefox 上的经典选择 |
| Violentmonkey | Chrome、Edge、Firefox 等 | 开源,界面简洁,兼容主流脚本 |
安装方式是从对应浏览器的扩展商店搜索名称并添加。安装完成后,浏览器工具栏会出现管理器图标,表示它已就绪。
从 OpenUserJS 查找并安装脚本
OpenUserJS 是一个用户脚本仓库,提供脚本的浏览、搜索和下载。典型流程是:
- 打开 OpenUserJS 网站,用搜索框或分类列表找到需要的脚本。
- 进入脚本详情页,查看它的说明、适用网站和更新记录。
- 点击安装按钮。如果已装管理器,浏览器会弹出安装确认页,显示脚本名称、来源和将要访问的网站。
- 确认安装。脚本会出现在管理器的脚本列表中,并在匹配的页面上自动运行。
安装前建议先读脚本说明,确认它作用的域名与你的需求一致。来源不明或权限范围过大的脚本应谨慎安装。
启用、禁用与更新
脚本装好后,日常管理都在管理器里完成:
- 启用/禁用:在脚本列表中切换开关,临时停用某个脚本而不删除它。
- 更新:多数脚本会声明更新地址,管理器可定期检查并提示更新;也可手动触发检查。
- 删除:不再需要时从列表中移除。
- 查看运行情况:部分管理器提供日志或错误提示,脚本不生效时可从这里排查。
用户脚本的基本结构
一个用户脚本就是一段带元数据头的 JavaScript。元数据头用注释形式写在文件开头,告诉管理器脚本的名称、作用范围和运行时机。例如需要给某个网站加一个按钮,脚本大致包含:
- 元数据块:声明
@name(名称)、@match或@include(在哪些网址运行)、@grant(需要使用的管理器 API)等。 - 主体代码:在页面加载后执行的逻辑,比如查找元素、绑定事件、插入新节点。
@match 决定脚本的触发范围,写错会导致脚本完全不运行;@grant 决定脚本能否调用管理器的存储、跨域请求等能力。修改现成脚本时,通常先看这两项是否与目标网站匹配。
常见问题排查
- 脚本不生效:先确认管理器已启用、脚本处于开启状态,再检查
@match是否覆盖当前网址(注意子域名和路径)。 - 页面加载后才出现的内容抓不到:脚本可能在目标元素生成前就执行了,需要等待元素出现或监听页面变化。
- 权限冲突或功能异常:多个脚本操作同一页面时可能互相干扰,可逐个禁用定位冲突来源。
- 网站改版后失效:脚本依赖的页面结构变了,需要更新脚本或等待作者修复。
- 安装时被拦截:部分浏览器或安全设置会阻止安装,需在管理器或浏览器设置中允许。
总体思路是:先装管理器,再从可信仓库安装匹配需求的脚本,遇到问题优先检查匹配规则和运行时机。