xpi

xpi檔案是 Firefox擴展包(Firefox 外掛程式,點擊是,並重啟Firefox瀏覽器。

XPI一種新的柴油機排放技術

含義為超高壓噴射,為了達到歐Ⅴ排放,SCANIA公司在高壓噴射的基礎上開發的一種超高壓噴射技術,其噴射壓力可以達到2200bar。實現路線為XPI+VGT+EGR,其中VGT是指可變截面渦輪增壓系統。

XPI檔案格式

xpi檔案是Firefox瀏覽器火狐瀏覽器)的擴展包檔案,Firefox瀏覽器中的xpi擴展包實際上類似於IE中的外掛程式或擴展(如Flash外掛程式等)。
格式一般為.Zip,由XUL、Javascript、CSS、HTML和圖片等構成。
Firefox擴展包(Firefox Extensions)是指對為了增強在Mozilla Firefox中瀏覽網頁所做的一些小改進的名字。他們也許只是 可以為Mozilla Firefox增加新的功能一個小程式或者外掛程式。您可以在Extensions page上看一看各種擴展包列表。
擴展包最偉大的好處是它使得Mozilla Firefox小巧而不臃腫,任何人可以根據自己需要選擇安裝適當的擴展包。

安裝方法

擴展檔案通常是xpi檔案格式(以.xpi結尾).有三種安裝方法:
1. 直接拖拽到Firefox瀏覽器的視窗里或擴展視窗里。
2. 點擊 '選單"--"工具"--''擴展'',把.xpi檔案拖進彈出視窗里,稍後就可以看到Firefox會詢問你是否要安裝這個外掛程式,點擊是,並重啟Firefox瀏覽器。
3. 滑鼠右鍵點xpi檔案,選打開方式,在打開方式里選firefox,設定關聯。以後只要雙擊xpi檔案就自動安裝了。

擴展包主要目錄

xpi是火狐瀏覽器外掛程式的擴展名。它實際上是一個zip格式的壓縮檔案
一個標準的擴展程式,解壓縮後會生成以下幾個目錄:
* chrome:
Mozilla 規定擴展必須具備的目錄。其下有一個 JAR 檔案,此檔案中保存著完成擴展主要功能的檔案,後面將做更進一步的說明;
* components:
約定俗成的可選目錄,用於存放自定義的 XPCOM 組件檔案。由於大多數的擴展根本沒必要自己定義 XPCOM 組件,因此,在沒有自定義 XPCOM 組件的情況下,此目錄是不用存在的;
* defaults:
負責存放一些默認的設定數據,其下還會包含子目錄,以分別對默認數據進行存儲; 另外,其下一般還會具備 3 個特殊的檔案:
* install.rdf:
它是一個 RDF/XML 格式的檔案,用於描述當前擴展的註冊信息和附加信息等。擴展在安裝時,負責安裝擴展的程式會自動分析此檔案的信息,然後將這些信息註冊到 Mozilla 系統下。此檔案必須被命名為 install.rdf,並置於擴展壓縮檔的頂級目錄下;
* install.js:
負責安裝擴展的腳本,此檔案可選。一般情況下,install.rdf 完全可以勝任擴展的安裝註冊工作。但是,如果有些擴展要在安裝時做一些額外的準備工作,則要通過一個稱為 XPInstall 的機制來完成,那些負責額外工作的代碼則要被固定地寫到此檔案中;
* chrome.manifest:
負責將擴展的各種包註冊到 Mozilla 的 chrome 系統中。Gecko 1.8 核心新引入的機制,用來代替原有的 contents.rdf 檔案;
如果你在別人編寫的擴展中看到了除此之外的其它目錄和檔案,這應該是擴展開發者的一種個人行為,而不是必須的。

擴展包其他目錄

在上提到的 chrome 目錄下,會一個與當前擴展名稱相近或相同的,擴展名為 JAR 的檔案,此檔案用來組織擴展的核心功能。第一章已經說過,編寫一個擴展就像編寫一個桌面程式一樣,你需要構造擴展的外觀並且編寫完成邏輯功能的代碼。那么,這些外觀和代碼就都被存儲在此檔案中。解壓縮此 JAR 檔案之後,一般會生成以下 3 個目錄。
* content:用於存儲負責描述擴展界面的 XUL 檔案和完成實際邏輯功能的 JS 檔案;
* locale:用於存儲負責本地化處理的字元串數據檔案,這些檔案中的本地化字元串內容會被 content 目錄中的檔案所引用。如果某個擴展沒有對本地化進行處理,那么它是可以省略的;
* skin:用於存儲負責美化界面外觀的樣式表檔案和圖片檔案,這些檔案中的樣式和圖片會被 content 目錄中的檔案所引用。如果擴展沒有使用單獨的樣式表檔案和圖片,那么它也是可以被省略的;
其實,那些目錄下的檔案不一定是直接存儲在它下面的,甚至它還有可能被存儲在一個不相干的目錄下。這是因為,Mozilla 下的擴展開發有一些固定的和約定俗成的東西。對於那些非固定的規定,你可以不遵守。就比如說,有的擴展可能將以上負責不同功能的檔案混合放在 content 目錄下。但是,作者不建議你這么做,這種方式只會給擴展的維護帶來困難。
下面我們再來看一下這些目錄下的所存儲的內容:
* content:目錄下可能還會包含一個與擴展名稱相同或相近的子目錄,用這個子目錄來存儲以上提到的界面和代碼檔案。對於 locale 和 skin 目錄,你可能也會看到再包含一個與擴展同名的子目錄的規則;
* locale:目錄下還會有針對不同語言的子目錄,這些子目錄會被起成如“en-US”,“zh-CN”這種用來區分“語言-國家/地區” 的名稱。通過這種國際上標準的語言區分方式,Mozilla 會根據其自身的語言,選擇一個最合適的語言目錄讓 content 中的檔案進行引用。這樣做的結果就是,同一個擴展,在編寫了不同的語言包之後,它會根據 Mozilla 的語言來進行自適應。其實,這是 Mozilla 的功勞,我們僅僅是提供了不同的語言包檔案,選擇並適應的工作是由 Mozilla 來完成的;
* skin:目錄下還會有針對不同的 Mozilla 主題命名的目錄,如“classic”,“modern”等。不過,一般情況下,我們只創建針對 classic 的“皮膚”。皮膚的適應方式與語言一樣的。

相關詞條

相關搜尋

熱門詞條

聯絡我們