2012-07-26 66 views

回答

4

userscripts.org OpenUserJS.org(或其他userscripts.org替代品之一)剛剛發表您的腳本。
試圖重新包裝它作爲附加組件通常比它的價值更麻煩。


如果你真的必須,您可以使用the Greasemonkey script compiler把你的腳本轉換成「附件」,然後submit that add-on to Mozilla, via the normal add-on process

請注意,弗拉基米爾的答案比Greasemonkey腳本編譯器更好。



Userscripts.org is now long dead

10

雖然您可以「編譯」GreaseMonkey腳本(請參閱Brock的答案),但此解決方案並不完全得到很好的支持。更可靠的選項將使用Add-on SDKJPM。您lib/main.js文件可以是非常簡單的(page-mod module documentation):

var data = require("sdk/self").data; 
var pageMod = require("sdk/page-mod"); 
pageMod.PageMod({ 
    include: "*.example.com", 
    contentScriptWhen: 'end', 
    contentScriptFile: data.url("contentScript.js") 
}); 

這等同於以下的GreaseMonkey腳本頭:

// @include http://example.com/* 
// @include http://*.example.com/* 

然後你把你的GreaseMonkey腳本data/contentScript.js(附加SDK會忽略GreaseMonkey標題,信息在別處指定)並構建擴展。在大多數情況下,它只會工作 - 除非你的GreaseMonkey腳本使用任何特殊的GreaseMonkey API,在這種情況下,你需要找到替代品。順便說一下(通常的警告適用)unsafeWindow is supported

+0

你的意思是「沒有得到很好支持」?在「不/很少安裝」或「膨脹代碼」的意義上? – 2012-07-31 09:30:52

+1

@RobW:我的意思是:「古老的解決方案,有人在幾年前一起入侵,並沒有真正更新,因爲」。這在很多方面都不是最理想的,例如需要重新啓動瀏覽器來進行擴展安裝,但沒有人會解決這個問題。 – 2012-07-31 09:57:57

+1

我試圖編輯這個,但他們不接受它。但是,這個確切的腳本不再工作。我不得不根據Mozilla文檔對其進行修改。 'var pageMod = require(「sdk/page-mod」); var self = require(「sdk/self」); pageMod.PageMod({ 包括: 「*」, contentScriptWhen: '準備好', contentScriptFile:[self.data.url( 「contentScript.js」)] });' – trlkly 2016-03-03 18:05:51

相關問題