1.3 XUL可以做什麼
先補充一下,XUL發音為:zool
XUL可以創建圖形界面的絕大多數元素,像Firefox、Thunderbird界面都是XUL的應用。
輸入控制,如文本框和檢查框
帶按鈕或其它內容的工具條
菜單條上的菜單或彈出菜單
分頁的對話框
分級樹型結構或表格信息
快捷鍵
1.4 XUL相關資料
目前XUL應用並不多,相關資料(無論中文或英文)非常的少,大多僅有一些簡單的介紹而已,下面是幾個相關網站
http://www.xulplanet.com
http://developer.mozilla.com
二、開發平台2.1 開發工具
Firefox
下面的鏈接地址可以讓你快速地定位新版本的下載位置。
http://FTP.mozilla.org/pub/mozilla.org/Firefox/releases/
安裝時,你需要選擇“自定義(Custom)”安裝模式。因為在這種模式下,我們可以選擇並安裝“開發工具(Developer Tools)”,這一點對於開發人員尤其重要。
UltraEdit-32,基本上現在沒有專門用於XUL的開發工具,所以需要一個好的文本編輯器。
以下為擴展開發所需工具,可以在下面的兩上網站下載和獲取到幫助信息:
https://addons.mozilla.org/extensions/?application=Firefox
http://www.extensionsmirror.nl/
JavaScript Debugger:又被稱為 Venkman,它是 Mozilla 平台下的腳本調試工具。
Console Filter:JavaScript 控制台(Javascript Console)的信息輔助過濾工具。通過這個工具,我們可以在 JavaScript 控制台中對那些錯誤信息進行有效的過濾和定位,這樣就可以加快解決錯誤的速度。
Component VIEwer:XPCOM 組件查看器。通過此工具,你可以了解到 Mozilla 系統下已經安裝的所有 XPCOM 組件信息,適合高級別的開發。
Extension Developer:輔助開發擴展的擴展,用來幫助你建立擴展開發項目。它提供了一套工具用來滿足 Mozilla 的擴展開發要求,雖然實際上它並不是很好使。在此,作者只建議你使用其中的部分功能,如:“Reload all Chrome”。因為此工具的“Extension Builder”功能還有一些問題,並且不利於你了解擴展的注冊機制。
2.2 配置環境變量
Firefox 是一個允許創建多個 Profile 的浏覽器,不同的 Profile 被分別進行管理。由於在開發擴展時,我們希望一個 Profile 用來做開發,一個 Profile 用來測試擴展的發布版本。所以,我們要配置不同的 Profile 來滿足這種要求。
操作系統 Proile 對應的目錄
Windows 9x/Me C:WindowsApplication DataMozillaFirefoxProfiles<Profile name>
Windows 9x/Me, alternate C:WindowsProfiles<Windows login/user name>Application DataMozillaFirefoxProfiles<Profile name>
Windows NT 4.x C:WinntProfiles<Windows login/user name>Application DataMozillaFirefoxProfiles<Profile name>
Windows 2000/XP C:Documents and Settings<Windows login/user name>Application DataMozillaFirefoxProfiles<Profile name> 或
%APPDATA%MozillaFirefoxProfiles<Profile name>
Unix ~/.mozilla/Firefox/<Profile name>/
Mac OS X ~/Library/Mozilla/Firefox/Profiles/<Profile name>/ 或
~/Library/Application Support/Firefox/Profiles/<Profile name>/
一般把默認的 Profile 做為開發的 Profile,所以,我們不用做什麼特殊的設置。你可以把上面提到的那些擴展,全部安裝到此 Profile 下。
那麼,我們還要創建一個新的 Profile 來完成擴展的安裝,或者說是發布測試工作。通過下面的兩個步驟,你可以實現這種需求。
首先,我們需要在命令行方式下,定位到 Firefox 的安裝目錄,通過運行
Firefox -P
啟動 Firefox 的 Profile 管理器窗口,建立一個負責測試安裝的 Profile。當然,也可以建立更多的 Profile。
假設你建立了一個名為“test”的 Profile,想啟用這個 Profile,你需要通過
set MOZ_NO_REMOTE=1
Firefox -P test
這兩行命令來啟用這個非默認啟動狀態的 Profile。為了方便測試,這兩條命令可以寫成一個 Shell 腳本或做成一個批處理文件。
下面列出Profile幾個需要更改的設置項。
Javascript.options.showInConsole = true :將 Chrome 類型的錯誤提示信息顯示在 JavaScript 控制台中,這樣可以方便擴展的調試;
nglayout.debug.disable_xul_cache = true :令 Chrome 下的 XUL 修改不會被 cache,以便不重新啟動 Mozilla 也可以查看到頁面布局的更改;
browser.dom.window.dump.enabled = true :將 window.dump() 方法打開,這樣 dump 信息就被打印在標准控制台上。此時,你還需要通過“-console”參數來啟動 Firefox。只有這樣,所有的 dump 信息才會被輸出到標准控制台上;
javascript.options.strict = true :允許嚴格的 Javascript 警告出現在 JavaScript 控制台中。對於你自己的擴展,這樣的設置可能會顯示出更多的錯誤提示信息。
通過在地址欄中鍵入 about:config,你可以打開 Mozilla 內置的配置界面,這樣你就可以更改那些設置項的值。在更改完這些設置項之後,我們會在以後的開發中更加得心應手。