如何直接从 Github gist 或 repo 加载 Greasemonkey 脚本?

5 firefox github javascript

取而代之的是我的浏览器用户脚本的 3 个版本:

  1. 地方草稿
  2. local-Greasemonkey
  3. GitHub

我想在 Github 中只有 1 个脚本实例。

我需要一种方法来将脚本的内容直接从 Github 导入到 Greasemonkey,该脚本的内容在 Github 中被共同编辑。

因此,对 Github 中的脚本所做的更改将自动影响在浏览器中使用该脚本的所有用户,而无需在每次更新时手动复制更改。

知道这样做的方法吗?请将您的答案限制为您所知道的最佳 1 或 2 种方式。

笔记:

  • 当然,我通常会备份我的 PC,包括 GitHub 资料。

Tho*_*ard 6

你的问题有两个部分。


第一种是直接从 GitHub 存储库或 GitHub GIST 加载用于安装的脚本。

GitHub 存储库和 GIST 都允许您获得一个“原始”对象链接,该链接指向对象本身并直接在 Web 浏览器中以纯文本形式提供该对象。用户脚本通常可以通过这些“原始”URL 正确获取。您可以通过单击 GIST 中单个项目上的“原始”按钮或在查看 GitHub 存储库中的特定对象时获取原始 URL。然后,您可以分发该“原始链接”以用于安装目的。


第二部分是将用户脚本中的更新和下载字段设置为指向您在上面获得的相同原始链接,以便让 GreaseMonkey / TamperMonkey 自动更新。

有很多脚本可以做到这一点。我将使用来自Charcoal Team 的 Userscripts 存储库的一个示例,称为 Flag Dialog Smokey Controls,又名 FDSC,它有一个很好的此类配置示例。

用户脚本有一个标题部分,它定义了用户脚本的细节,例如脚本的名称、版本号、贡献者、启用它的站点以及其他字段。这里有两个字段与您正在使用的“下载”和“更新”组件高度相关 -@updateURL@downloadURL. 将// ==UserScript==评论/标题部分中的这些字段设置为我在第一部分中提到的原始链接。然后,Greasemonkey/Tampermonkey 将适当地解释更新 URL,并在您增加用户脚本标题部分中的“版本”时相应地更新。

请注意,FDSC 为此使用了两个脚本,一个用于实际更新检测,另一个用于获取更新版本的实际下载位置:

// @updateURL   https://raw.githubusercontent.com/Charcoal-SE/Userscripts/master/fdsc/fdsc.meta.js
// @downloadURL https://raw.githubusercontent.com/Charcoal-SE/Userscripts/master/fdsc/fdsc.user.js
Run Code Online (Sandbox Code Playgroud)

我相信您可以为这些使用相同的链接。(虽然我还没有测试过)