XUL Explorer 使用教程

https://developer.mozilla.org/en/XUL_Explorer


     XUL Explorer是一個輕量級的XUL集成開發環境,建成一個XULRunner應用,提供一個簡單的方式進行試驗XUL 。這是一個簡單的編輯器,可以預覽內置的XUL或在一個單獨的彈出窗口。它有一個清單,代碼段(小片段XUL或JavaScript ) ,可以迅速地插入到編輯器。 在XUL可以加載和保存檔案。XUL校驗工具和JavaScript差錯控制檯可幫助調試問題。幫助菜單可以連接到MDC信息 。甚至有一個簡單的關鍵字 幫助查找XUL內容。

 


 

安裝清單

前言安裝清單是一個擴展的可被管理的XUL應用程序, 它用以確定即將被安裝的擴展的信息. 安裝清單包括了識別擴展的元數據, 提供信息關於誰創建了它, 哪裏能能找到關於擴展的更多的信息, 哪個版本是與應用程序相兼容的, 應該怎麼更新等等.
Install清單文件的格式是RDF/XML.
清單文件必須要命名爲install.rdf並且位於擴展的XPI文件中最頂級(XPI是ZIP格式的壓縮文件, 這裏的"最頂級"指的是在壓縮文件內部清單文件應該位於根路徑級別).
      
內容佈局安裝清單內容的基本佈局如下:
<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
     xmlns:em="http://www.mozilla.org/2004/em-rdf#">
  <Description about="urn:mozilla:install-manifest">
    <!-- properties -->
  </Description>
</RDF>
      一些屬性是必要的, 一些則是可選的. 一些只是簡單的字符串值, 一些則是複雜的資源.

必要的屬性引用你的安裝清單必須要正確的指定那些必要的屬性, 否則你的addon可能不能夠安裝.
擴展的id屬性是:

id
GUID(GUID的生成, Windows上使用guidgen, Linux上使用uuidgen, Solaris上使用makeuuid)
一個字符串格式, 如[email protected]
Examples

<em:id>[email protected] </em:id>
<em:id>{daf44bf7-a45e-4450-979c-91cf07434c3d}</em:id>

version (版本)版本字符串作爲標識addon的版本被提供.
對於Firefox/Thundebird 1.0, 版本格式必須要符合指定的規則Extension Versioning, Update and Compatibility .
Examples
<em:version>2.0</em:version>
<em:version>1.0.2</em:version>
<em:version>0.4.1.2005090112</em:version>

type (類型)一個表示addon類型的整型值.

2 Extensions
4 Themes
8 Locale
32 Multiple Item Package

Examples
<em:type>2</em:type>

targetApplication一個object通過addon來指定一個應用程序目標. 意思是說將與應用程序一起工作的addon通過指定的id屬性(<em:id>)被識別(for a comprehensive list of application IDs see Valid application versions for add-on developers ), 識別過程從最小版本(<em:minVersion>)一直到最大版本(<em:maxVersion>). 這些版本字符串採用相同的方式定義version property 並且將被與應用程序的版本進行比較; 這允許extension作者去指定哪個Firefox的版本是extension已經測試通過的.
Install清單文件至少要指定這些版本中的一個, 更可能需要指定更多如果addon目標是與多個支持Addon Manager(Addon管理器)的應用程序(比如, Firefox和Thunderbird)相兼容.
Examples
<em:targetApplication>
<Description>
  <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
  <em:minVersion>1.5</em:minVersion>
  <em:maxVersion>2.0.0.*</em:maxVersion>
</Description>

nameaddon的name用來在UI中顯示.
Examples
<em:name>My Extension</em:name>

Optional Property Reference (可選的屬性)
localized (本地化)允許你本地化add-on的名稱, 描述, 貢獻者(不能肯定這麼翻譯)和其它的元數據. 本地化描述必須要指定至少一個em:locale用以指出要使用哪個本地化信息.
Examples
當應用程序運行於de-DE區域中時, 以下則是用於被顯示的add-on元數據的一組定義.
<em:localized>
  <Description>
    <em:locale>de-DE</em:locale>
    <em:name>Tab Sidebar</em:name>
    <em:description>Zeigt in einer Sidebar Vorschaubilder der Inhalte aller offenen Tabs an.</em:description>
  </Description>

以下屬性是在本頁的其它位置所描述的並可以被包含在本地化屬性中的.

  • name
  • description
  • creator
  • homepageURL
  • developer
  • translator
  • contributor


description (描述)一個簡短的打算被顯示在用戶界面上的add-on描述. 這個描述應該簡短到一行文本.
Examples
<em:description>Advanced foo tools.</em:description>
creator (創建者)打算顯示在用戶界面上的創建者/主要開發人員的名稱.
Examples
<em:creator>John Doe</em:creator>

<em:creator>CoolExtension Team</em:creator>
developer (開發人員)聯合開發人員的名稱. 你可能要指定一人以上的這個值以指定多開發人員.
Examples
<em:developer>Jane Doe</em:developer>
<em:developer>Koos van der Merwe</em:developer>

translator (翻譯人員)翻譯人員的名稱. 你可能要指定一個以上的這個值以指定多個翻譯人員.
Examples
<em:translator>Janez Novak</em:translator>
<em:translator>Kari Nordmann</em:translator>
contributor (貢獻人員)另外的一些貢獻人員的名字. 你可能要指定一個以上的這個值以指定多個貢獻人員.
Examples
<em:contributor>John Doe</em:contributor>

<em:contributor>John Doe</em:contributor>
<em:contributor>Jane Doe</em:contributor>
<em:contributor>Elvis Presley</em:contributor>
homepageURL (主頁URL)打算顯示在用戶界面裏的addon的主頁連接.
Examples
<em:homepageURL>http://www.foo.com/&lt ;/em:homepageURL>
updateURL (更新URL)連接到一個自定義的更新清單文件上, 它執行了addon可用的更新. 更新URL格式在下邊描述. 如果更新URL是允許的, 那麼addon處理器會週期性的檢查更新清單以確定是否有新的版本可用.
注意: 強烈建議updateURL是一個HTTPS(安全的)連接. 非安全的更新URL能被惡意的update.rdf文件所攔截, 然後允許惡意的入侵用戶計算機. 另一個解決辦法就是, 將你的extension放在AMO 上並且完全省去updateURL. 這樣將自動能夠提供安裝的更新.
爲了安全的原因, Gecko 1.9應用程序要求 如果你指定了一個updateURL, 那麼就必須是一個https URL, 或者你必須要包含一個updateKey .
Examples
<em:updateURL>http://www.foo.com/update.cgi?id=%ITEM_ID%&amp ;amp;version=%ITEM_VERSION%</em:updateURL>
<em:updateURL>http://www.foo.com/extension/windows.rdf&lt ;/em:updateURL>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章