将URL中的代码包含到Greasemonkey脚本中以将其用作脚本?

时间:2017-08-20 16:27:14

标签: javascript include greasemonkey

假设我在GitHub上有一个包含3个文件的存储库:

  1. myGreasemonekyScript.js
  2. readme.md
  3. license.md
  4. 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脚本文件和另一个文件夹中的备份),我想将代码编辑集中在一个地方,而不需要每次重新复制每个文件之间的更改。

1 个答案:

答案 0 :(得分:0)

我可以看到四个选项:

1。只需从github

安装脚本

<强> You will need to tweak the update interval.

您需要做的就是在github上输入Raw视图,greasemonkey会要求您安装脚本。我创建了一个example repository to demonstrate this

安装脚本后,进入设置并将自动更新设置为Onenter image description here

进一步阅读:How does user script updating work?

2。附加<script>代码

这是非常明显的解决方案,但由于安全原因而不适合制作。您只需将脚本标记附加到文档,在github上链接您的脚本。

3。 @require命令

这有一个缺点,Greasemonkey只下载@require个依赖项一次,因此您需要在URL中更改某些内容(例如。?random_number)以在更新脚本后强制刷新。

4。 Use my refresher

我曾经创建过Node.js脚本,它接受文件系统上任何地方的用户脚本文件路径。然后,它将在process.env.appdata+"\\Mozilla\\Firefox\\Profiles\\ap7ptx7o.default\\gm_scripts"中搜索这些路径(您可能需要更改此路径),并且每次修改参考路径(GitHub存储库中的路径)时,它都会将其复制到您的userscripts文件夹。