此文件需要技術審查。看看您能幫什麼忙。

此文件需要編輯審查。看看您能幫什麼忙。

翻譯不完整。請協助 翻譯此英文文件

用來修改或是強化 Mozilla 應用程式的功能

附加元件能為以 Gecko 為基礎的應用程式,例如 Firefox、SeaMonkey 與 Thunderbird 新增功能。附加元件有兩大類:能夠為程式新增功能的擴充套件以及修改應用程式介面的佈景主題

附加元件可以大幅度修改應用程式的行為,我們整理出了一份指導方針以確保附加元件能讓使用者有好的體驗。這些指導方針對所有類型的附加元件、不論是不是上架到 addons.mozilla.org 都是有用的。


擴充套件

擴充套件能夠替 Mozilla 應用程式(像是 Firefox 或是 Thunderbird)增加新功能,例如在瀏覽器上用不同的方式管理分頁、修改特定網頁內容以增進易用性以及安全性等。

如果想動手做個擴充套件,這裡有三種技術可供你選擇:基於 Add-on SDK 的擴充套件,手刻的無須重啟擴充套件,以及傳統擴充套件。

WebExtensions

我們正在實做新的擴充套件開發方式,稱為 WebExtensions 。與目前 Chrome 及 Opera 使用中的開發方式有相當好的相容性。

在未來,這將會是我們推薦用來開發 Firefox 擴充套件的方式。

目前此技術仍在實驗階段,你可以檢視說明文件以獲得更多說明。

如果可以的話,推薦你最好使用 Add-on SDK。它使用無須重啟套件機制,簡化了特定工作,且會自我清理。如果 Add-on SDK 的功能對你而言不敷使用,再考慮手做一個無須重啟擴充套件吧。

如果想更了解選擇哪個技術會比較適合你,請閱讀這篇比較

除錯

不透過除錯器來開發擴充套件將會是一項非常困難的挑戰,因為你將難以檢視你的程式碼在哪出錯。如果你想要讓擴充程式的 log 出現在瀏覽器主控台裡,你會需要啟用開發者選項。桌面板可以參考:設置擴充套件的開發環境。

關於桌面板可以參考 設置擴充套件的開發方式,如果你是在開發行動版 (Android/iOS) 或是 Firefox OS ,你可以透過 WebIDE 裡的"瀏覽器工具箱"來除錯。詳細請參考 使用 WebIDE 為 Firefox for Android 除錯。

最佳範例

無論你是怎麼開發擴充套件的,請記得要遵守某些準則,以便提供使用者最好的手感。

效能
確保你的擴充套件速度飛快、反應靈敏、節省記憶體。
安全性
確保你的擴充套件不會讓使用者受到惡意網站的危害。
相容性
確保你的擴充套件不會和其他擴充套件產生衝突。

關於特定應用程式

多數的文件都假設你是針對開發 Firefox 桌面版進行開發。如果你要針對其他 Gecko 為基礎的應用程式,那你應該知道這些主要差異。

Thunderbird
開發用於 Thunderbird 郵件客戶端的擴充套件。
Android 版 Firefox
開發 Android 版 Firefox 的擴充套件。。
SeaMonkey
開發用於 SeaMonkey 套裝軟體的擴充套件。

發布你的附加元件

Mozilla 有一個擴充套件與佈景主題的收藏網站,位於 addons.mozilla.org,又稱為 AMO。

你不一定要將你的附加元件上架到 AMO ,但你必須將你的擴充套件上傳到 AMO 讓 AMO 驗證並簽署。因為在 Firefox 43 之後,使用者將無法安裝未經簽署的擴充套件。若你上架到 AMO,你可以因為 AMO 是一個知名且好用的附加元件站而讓您的元件有較大的曝光程度。


其他形式的附加元件

輕量佈景主題 比完整佈景主題簡易許多,提供了有限的自訂功能。

完整佈景主題 能夠對使用者界面做更深層的修改。完整佈景主題的文件已經許久未更新了,但它已重新導向到這裡以便作為更新文件的基礎。

搜尋引擎外掛是個簡單且非常特定的附加元件類型:用於增加新的搜尋引擎到瀏覽器的搜尋框。

外掛(Plugin)能夠幫助應用程式看懂一些預設不支援的內容。NPAPI 外掛是個過時的技術,新的網站不應該再使用。大體而言,先進的行動瀏覽器都不再支援外掛,而網站也逐漸遠離不再使用他了。


Join the extension development community

Choose your preferred method for joining the discussion: