Firefox附加組件開發者指南(一)——擴展簡介

https://developer.mozilla.org/En/Firefox_addons_developer_guide

Chapter1: Introduction to extensions

Chapter2: Technologies used in developing extensions

Chapter3: Introduction to XUL—How to build a more intuitive UI

Chapter4: Using XPCOM—Implementing advanced processes

Chapter5: Let's build a Firefox extension

Chapter6: Firefox extensions and XUL applications

譯文PDF下載

概述

你閱讀這篇指南說明你已經用過Firefox了。或許你第一次看到Firefox的時候會很驚訝的發現Firefox的結構比其他特性豐富的瀏覽器(如,opera或safari)要簡單很多。
現今什麼樣的特性纔會認爲是網絡瀏覽器的標準呢?或許精細設計的標籤控件、鼠標姿勢、大量的工具條和按鈕、快速閱讀器、集成大多數網絡應用、或者複雜的用於輔助網絡設計的工具。但是我們認爲創造一個集所有功能於一體的瀏覽器也不能夠滿足每一個人。
相反的,Firefox可以通過擴展來支持這些特性。核心瀏覽器只限於基本的特性,因此它是一個能夠滿足新手的東西,但那些想要更多東西的用戶可以安裝擴展。

關於擴展

使用Add-ons Manager進行管理

Firefox的附加組件管理器是一種管理擴展的極好方式,也是易用性的一個偉大進步。
附加組件管理器處理如下的任務:

  1.  安全的安裝與卸載附加組件
  2.  確保附加組件與當前使用的Firefox版本相兼容
  3.  管理一個受信任的安裝附加組件的白名單
  4.  通過禁用附加組件來協助解決附加組件產生的問題並提供安全模式
  5.  確認並運行更新
  6.  提供訪問附加組件設置對話框的途徑
  7.  提供附加組件支持網站的訪問途徑
開發環境便利
剛開始,沒有足夠的文檔可用,擴展開發者基本上都只能靠自己;但現在已經有了可觀的知識儲備。
因爲Firefox和其擴展都是設計成多語言支持的,任何感興趣的人都可以將來自世界各地的優秀擴展快速的進行本地化。
這就降低了使用和開發擴展的門檻;聯繫Firefox的快速流行,事實上創造了一個積極的循環,使得擴展用戶和擴展開發者的大量增長——現在偶多餘7000個擴展和主題發佈在Firefox的add-on網站(https://addons.mozilla.org/)

利用擴展可以做些什麼

我們來看看擴展可以添加什麼樣的特性以及一些實際的擴展例子。

單一特性的擴展

這些是相對簡單的擴展,僅僅添加一個簡單的特性。
Text Link
雙擊不帶鏈接的URL也會打開那個URL。
Undo Closed Tabs Button
添加一個按鈕到工具欄以重新打開歷史菜單中最近關閉的標籤頁。



Locationbar

將一個URL的域名和路徑進行分離以便於更簡單的閱讀。

提升特性的擴展

這些擴展提升了Firefox中已經存在的特性。
Tab Mix Plus
提供與標籤相關的詳細設置。
PrefBar
從工具欄訪問多種首選項

NoScript

在網站上啓用或禁用JavaScript的執行

集成網絡應用的擴展

使用某些網絡應用出現的API來提供某些信息。
GmailManager
在狀態欄顯示接受到的消息數
AdSense Notifier
在狀態欄顯示 AdSense revenue。
Forecastfox
在狀態欄顯示天氣預報。


提供新特性的擴展

擴展可以添加完全的新特性到Firefox中。這類擴展需要更高水平的知識以及編程能力。
GreaseMonkey
UserChrome.js
這些都在Firefox中提供了一個用於運行用戶腳本(JavaScript)的環境,這裏腳本可以指定目標網站。
Adblock Plus
屏蔽不想在網頁中看到的廣告。
All-in-One Gestures
添加鼠標手勢功能。

應用程序級擴展

這些是複雜的擴展,完全可以認爲是具有它們自己的版權的完整應用程序,只是使用了Firefox作爲開發平臺。
Sage
一個高級的RSS閱讀器。
Scrapbook
一個網頁剪輯管理器。
Firebug
一個極爲複雜的用於監視和調試CSS,HTML以及javascript的網絡開發環境。


搞怪的擴展

有很多沒有太多用處的搞怪的擴展。
Together with Foxkeh
在側邊欄和對話框中顯示mozilla Japan的吉祥物Foxkeh。
Turn Cancel button into a shiitake mushroom
將取消按鈕變成一個蘑菇蓋。

這是對一小部分擴展的簡單概覽,還有很多其他可用的獨特的擴展。
表1: Firefox的高級定製方法

定製方法

在網站中是否有效?

在Firefox中是否有效?

使用樣式表(通過CSS改變外觀)

是:可以修改userContent.css文件,或者使用樣式擴展

是:可以修改userContent.css文件,或者使用樣式擴展

用戶腳本(通過JavaScript改變外觀和功能)

是:可以使用GreaseMonkey擴展或者"bookmarklets"

是:可以修改userChrome.js通過javascript來添加功能

擴展(可以做任何事情)

主題(這可以改變瀏覽器的外觀)


構建一個擴展

表1顯示了用戶在Firefox中可以做的各種各樣的定製選項。用戶有靈活的定製選項,使用用戶樣式表CSS和用戶腳本javascript/DOM(這些是基於Stylish, GreaseMonkey,以及userChrome.js).
除了CSS和javascript,擴展可以利用XUL和XPCOM技術來設計更加複雜的特性。主題,可以改變Firefox的外觀,也是一種附加組件。
爲了創建一個擴展,你需要一個想法以及一點點編程能力。下面的章節會詳細解釋在編寫擴展中使用到的技術以及一些日本的擴展作者。我們鼓勵你親自進行嘗試。

發佈了32 篇原創文章 · 獲贊 83 · 訪問量 29萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章