時間:2017-09-14 14:46:41 作者:琪琪 瀏覽量:48

許多網友都想學習火狐瀏覽器插件開發這一方面的知識,不過,目前,許多資料都是比較晦澀難懂,不太適合初學者。那么,初學者想要學習火狐瀏覽器插件開發該怎么入門呢?還是一起來看看今天的火狐瀏覽器插件開發入門教程!

首先需要知道什么是“Firefox插件”。這里說的“插件”只是一個通俗的說法,其實Firefx這種擴展功能的“插件”包括:擴展extension和插件plugin。
Firefox官方網站的解釋是:Extensions are small add-ons that add new functionality to your Mozilla program. Plugins are programs that allow websites to provide content to you and have it appear in your browser.(擴展是能夠給Mozilla增加一些新功能的附加軟件,插件是允許網站向你提供內容并在瀏覽器中顯示的程序)。通俗的講,“擴展”是基于Firefox本身增加的一些實用功能,而“插件”則是在Firefox之外獨立編寫的程序,用于顯示網頁中的特定內容如Flash、視頻和Java 等。
其實,我們需要開發的是Extension。
要開發Extension,可以分幾步走:
1.了解什么是Extension,一般現成的Extension怎樣組成的?里邊包含的每個文件具體的作用是什么?
2.了解Firefox處理運行Extension的機制。例如Xpcom,chrome機制等。
3.看看入門例子,用記事本,做一個最簡單的擴展,運行一下。另外,使用Firefox,下載一些常用的擴展,并查看一下人家的源代碼。
4.正式搭建開發環境。
5.一邊學習人家的代碼,一邊修改代碼實現自己的擴展。
第一步和第二步:
需要了解:chrome,rdf,manifest,xul,xpcom等概念。
擴展(extensions)
Extensions添加新功能到Mozilla Firefox中。Extensions可以簡單添加一個工具欄按鈕,也可以實現一個完整的新功能。Extensions可以讓firefox更加適合個人需要。
Extensions跟plugins(插件)不同。插件幫助瀏覽器顯示特殊內容,例如播放多媒體文件。常見的插件是flash player。而Extensions也跟搜索引擎插件不同,搜索引擎插件只是在搜索欄里邊多加入一個搜索引擎地址而已。
一個擴展,通常是一個XPI(Cross-Platform Installer Module)包,其實是一個zip類型的壓縮包,里邊包括必須的文件。在下邊的圖1中,顯示了一個標準的擴展包括的文件和文件的目錄結構。

在上圖中,content 目錄下面存放的是擴展的描述界面的 XUL 文件和增加行為的 JavaScript 文件。locale 目錄存放的是本地化相關的文件。如果需要支持英文和中文,就可以在 locale 目錄下面新建 en-US 和 zh-CN 目錄來存放相應的本地化字符串。skin 目錄存放的是一些 CSS 文件,用來定義擴展的外觀。chrome.manifest 是 Chrome 注冊的清單文件(參見 2.2節)。install.rdf 分別包含了擴展安裝的信息。
chrome
Chrome 指的是應用程序窗口的內容區域之外的用戶界面元素的集合,這些用戶界面元素包括工具條,菜單,進度條和窗口的標題欄等。Chrome 提供者能為特定的窗口類型(如瀏覽器窗口)提供 chrome。有三種基本的 chrome 提供者:
l 內容(Content):通常是 XUL(XML User Interface Language) 文件。 而XUL文件將會指定擴展在Firefox中運行時表現的界面和功能。XUL文件是一種Javascript文件,設計的目的是為了描述窗口和對話框的內容。
l 區域(Locale) :存放本地化信息。
l 皮膚(Skin):描述 chrome 的外觀。通常包含 CSS 和圖像文件。
XULRunner