假设我在GitHub上有一个包含3个文件的存储库:
myGreasemonekyScript.js
存储Greasemonkey脚本:
// ==UserScript==
// @name facebook
// @namespace nms
// @include http://*.example.com/*
// @include https://*.example.com/*
// @version 1
// @grant none
// ==/UserScript==
// The rest of the script...
有没有办法只从Greasemonkey中调用它,以便本地 Greasemonkey脚本文件只包含位于GitHub中的远程版本的包含(包含)?
注意:我想这样做的原因是极简主义,而不是有两个版本localy(GM脚本文件和另一个文件夹中的备份),我想将代码编辑集中在一个地方,而不需要每次重新复制每个文件之间的更改。
答案 0 :(得分:0)
我可以看到四个选项:
<强> You will need to tweak the update interval. 强>
您需要做的就是在github上输入Raw视图,greasemonkey会要求您安装脚本。我创建了一个example repository to demonstrate this。
进一步阅读:How does user script updating work?
<script>
代码这是非常明显的解决方案,但由于安全原因而不适合制作。您只需将脚本标记附加到文档,在github上链接您的脚本。
@require
命令这有一个缺点,Greasemonkey只下载@require
个依赖项一次,因此您需要在URL中更改某些内容(例如。?random_number
)以在更新脚本后强制刷新。
我曾经创建过Node.js脚本,它接受文件系统上任何地方的用户脚本文件路径。然后,它将在process.env.appdata+"\\Mozilla\\Firefox\\Profiles\\ap7ptx7o.default\\gm_scripts"
中搜索这些路径(您可能需要更改此路径),并且每次修改参考路径(GitHub存储库中的路径)时,它都会将其复制到您的userscripts文件夹。