You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Greasemonkey脚本中实现自动更新?可通过GitHub托管并设@version吗?

Greasemonkey脚本自动更新:GitHub托管+版本号配置指南

当然可以!把Greasemonkey脚本托管到GitHub,配合正确的元标签配置,完全能实现自动更新,不用每次手动去检查。我来一步步给你讲清楚怎么弄:

1. 核心元标签配置

Greasemonkey本身支持通过脚本头部的元标签来管理更新,你需要在脚本开头的==UserScript==块里添加三个关键标签:

  • @version:必须遵循语义化版本规则(比如1.0.0、1.0.1),每次更新脚本时记得升级这个版本号——这是Greasemonkey判断是否有更新的核心依据。
  • @downloadURL:指向GitHub上脚本的原始文件链接(不是仓库网页链接),用户点击更新时会从这个地址下载新版本。
  • @updateURL:Greasemonkey定期检查更新时请求的地址,通常和@downloadURL设为同一个链接就行。

举个完整的元标签示例:

// ==UserScript==
// @name         我的自定义脚本
// @version      1.0.0
// @description  帮我自动处理网页内容的小工具
// @author       我的名字
// @downloadURL  https://raw.githubusercontent.com/你的GitHub用户名/仓库名/main/脚本文件名.user.js
// @updateURL    https://raw.githubusercontent.com/你的GitHub用户名/仓库名/main/脚本文件名.user.js
// @match        https://目标网站域名/*
// ==/UserScript==

注意:GitHub的原始文件链接需要从仓库里的脚本文件页面点击「Raw」按钮获取,格式是raw.githubusercontent.com/用户名/仓库名/分支名/文件名。

2. GitHub托管的注意事项

  • 把脚本文件(通常以.user.js为后缀)上传到GitHub仓库的某个分支(比如main),确保raw链接可以直接访问到纯文本的脚本代码。
  • 每次更新脚本内容后,一定要同步升级@version号,然后push到GitHub。Greasemonkey只会在远程版本号高于本地时触发更新提示。

3. 自动更新的实现方式

不用自己写复杂的更新逻辑!Greasemonkey内置了自动检查机制:

  • 默认情况下,它会每天自动检查一次所有脚本的更新。如果远程脚本的@version比本地高,就会弹出提示问你是否要更新。
  • 你也可以在Greasemonkey的设置里调整检查频率(比如改成每周、每小时),或者在脚本管理界面右键脚本,选择「检查更新」手动触发检查。

如果需要更个性化的更新逻辑(比如打开网页时即时检查、自定义更新提示),也可以用GM_xmlhttpRequest API手动请求远程脚本的元数据,对比版本号后提示用户下载,但大部分场景下,内置的自动检查已经足够好用了。

4. 手动更新的补充

如果内置的自动检查没触发,或者你想立刻确认是否有新版本,直接在Greasemonkey的脚本列表里找到对应脚本,右键选择「检查更新」就能快速触发检查流程。


内容的提问来源于stack exchange,提问作者chosirai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:11:27