2013-06-21 46 views
2

我想在新的Greasemonkey腳本的元數據中添加一個默認條目。如何更改新的Greasemonkey腳本中的默認元數據?

目前,當您使用新UserScript ...菜單,你會得到這樣的對話(我填寫的最小必填字段,剪貼板是空的):

New GM script dialog


這給了這樣一個新的腳本:

// ==UserScript== 
// @name  _Sample default Greasemonkey script 
// @namespace _pc 
// @include  http://stackoverflow.com/questions/* 
// @version  1 
// ==/UserScript== 


但是,我想要@require jQuery併爲每個默認腳本添加一個@author字段。因此,它默認代碼看起來像這樣

// ==UserScript== 
// @name  _Sample default Greasemonkey script 
// @namespace _pc 
// @include  http://stackoverflow.com/questions/* 
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js 
// @author  me 
// @version  1 
// ==/UserScript== 


我該怎麼辦呢?當我編輯greasemonkey.jar(在文件夾擴展名中)並添加行:@require http://[link to jquery from google]它不起作用,並且Greasemonkey在打開(¿文件?)時出現問題。

如何更改默認Metadata Block指令?

回答

2

我看到you have already opened a feature request,這是處理這個長期的正確方法。

對於一個快速和骯髒的,臨時修復 - 這將只對你只有等到下一個Greasemonkey的更新,你可以做到以下幾點:

  1. 關閉Firefox瀏覽器。
  2. 尋找您的Firefox profile folder
  3. 爲了保證安全,請保存配置文件夾的備份副本。
  4. 找到Greasemonkey擴展包。它將位於extensions子文件夾中,通常名稱爲{e4a8a97b-f2ed-450b-b12d-ee082ba24781}.xpi
  5. 使用zip文件工具,如7-Zip,打開.xpi文件。
  6. 查找並提取content\newscript.js
  7. 只是線124,script.push("// @version 1");之前,添加下列行:

    script.push("// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"); 
    script.push("// @author  me"); 
    script.push("// @grant  GM_addStyle"); 
    

    GM_addStyle位,以防止默認GM腳本常見的問題 - 特別是那些添加的jQuery。

  8. 將更改後的newscript.js更新爲.xpi文件。

  9. 重新啓動Firefox。這些更改應該是有效的。


注意事項:

  • 製作編輯.xpi文件,就像這可能導致你破壞你的Firefox配置文件,如果你不小心!
  • 從理論上講,您甚至可能需要在某些損壞後卸載並重新安裝Firefox。
  • 每次新版本的Greasemonkey後,您都必須重新進行此更改。

稍微問題較少的方法,如果你有能力,是:(1)叉the source,(2)改變newscript.js正如我以上詳述的,(3)改變擴展ID,和(4)安裝你的分叉版本。

這將是:有文件記錄,風險較低,更持久,並允許您快速切換髮布的通用汽車和您自己的版本。

如果您有更多的技能,您可以分解代碼,向GM添加自定義元數據功能,並啓動拉取請求。這涉及更多。

相關問題