2011-08-17 47 views
2

我期待開發瀏覽器擴展。開發一個非常簡單的瀏覽器擴展

這個擴展一旦安裝就會告訴瀏覽器在從特定域名列表加載的所有頁面中加入一個JavaScript文件。

這種類型的擴展名被谷歌瀏覽器稱爲「內容腳本」。

從我讀,創建這種類型的擴展爲Chrome您只需一旦擴展安裝的jquery.js和myscripts.js把這個代碼 「清單」文件

{ 
    "name": "My extension", 
    ... 
    "content_scripts": [ 
    { 
     "matches": ["http://www.google.com/*"], 
     "js": ["jquery.js", "myscript.js"] 
    } 
    ], 
    ... 
} 

將被納入在google.com的每一頁上加載

Chrome採用的這種擴展開發方法看起來非常簡單。

我的問題是如何複製這種類型的擴展爲其他主流瀏覽器是多麼困難?

+0

對於其他主流瀏覽器喜歡? Firefox有自己的插件機制。它自己的Safari。我會說,嘗試一下在大多數主流瀏覽器上運行的擴展模塊greasemonkey,然後查看Greasemonkey嘗試的內容腳本。 –

+0

[Crossrider](http://crossrider.com)可以通過他們的跨瀏覽器擴展開發框架來幫助你。 (你可以快速開始使用JavaScript和在線IDE) – gkof

回答

1

Firefox本身不提供加載內容腳本的簡單方法。但是,GreaseMonkey add-on確實有,並且有大量示例腳本可以從http://userscripts.org/中進行選擇。除此之外,GreaseMonkey腳本可以是compiled into a "real" extension,不再需要GreaseMonkey,並且它們也可以安裝在Chrome中(無需擴展)。

Firefox的另一種可能性是使用Add-on Builder or SDKpage-mod module。像這樣的東西應該工作:

var pageMod = require("page-mod"); 

pageMod.PageMod({ 
    include: ["http://www.google.com/*"], 
    contentScriptFile: [data.url("jquery.js"), data.url("myscript.js")] 
}); 

隨着加載項生成器它應該很容易把這個代碼轉換成實際的分機。我沒有使用附加SDK的經驗,所以我不能爲您提供任何額外的幫助。

+0

我聽說過關於greasemonkey和用戶腳本。但是由於我的擴展的簡單性。我想要一起避免使用greasemonkey。然而,我不知道這個真正的擴展選項在greasemonkey之上。 – jamjam

+0

因此,對於Chrome,我應該使用上面的代碼創建一個清單文件。對於Firefox編譯一個真正的擴展名在greasemonkey之上。那可怕的IE呢? – jamjam

+0

for firefox你不需要編譯任何東西..它被寫入xul並壓縮到一個xpi容器文件(只需創建一個zip並將其重命名爲xpi;) – walialu

0

嘗試Kango Framework。這是一個跨瀏覽器的擴展框架。您可以爲使用單一源代碼的所有主流瀏覽器開發擴展。支持IE,Firefox,Chrome,Opera和Safari。

相關問題