更新 Firefox 7 的擴充套件

本文為希望更新其擴充套件以便在 Firefox 7 中工作的外掛開發者提供建議。幸運的是,此版本中的大多數更改都相對較小,很少有外掛需要進行重大更改才能在 Firefox 7 中執行。

注意:有關 Firefox 7 中與開發者相關的更改的完整列表,請參閱 Firefox 7 for developers

一如既往,您需要 重新編譯任何二進位制元件 以使其與 Firefox 7 相容。

影響相容性的 XPCOM 更改

此版本中的大多數更改是 XPCOM 介面的移除,或者從介面中移除特定的、已廢棄的 API。

已移除的介面

以下介面是將被移除的,最可能影響擴充套件開發者的介面

  • nsIDOM3Node
  • nsIDOM3TypeInfo
  • schemaTypeInfo
  • nsIDOMNSDocument
  • nsIDOMDocumentStyle

您可以在 Firefox 7 for developers已移除介面 部分找到已移除介面的完整列表。

已更改的方法

一些介面的方法已發生更改

nsINavHistoryObservernsINavBookmarkObserver

這些介面已更改,透過向其多個方法新增新的 GUID 引數來更好地支援 Firefox Sync。基於 JavaScript 的程式碼不應需要任何更改,因為這只是添加了一個新的可選引數。但是,二進位制元件需要更新以考慮新引數。

nsIDOMFile

此介面已移除多個非標準方法。這會影響 File 物件的 File.getDataAsUrl()File.getAsBinary() 方法。但是,此功能現在可以在標準的 FileReader 物件中找到。

其他值得注意的更改

這些更改不會影響相容性(我們沒有開玩笑說此版本中很少有更改會影響相容性),但確實增加了易於利用的功能,這些功能可能對您特別有用。

解除安裝 JavaScript 程式碼模組

新的 Components.utils.unload() 方法允許您解除安裝先前透過呼叫 Components.utils.load() 載入的 JavaScript 程式碼模組。這對於無需重啟(自舉)的擴充套件特別有用,這樣您就可以在安裝新版本的外掛時解除安裝舊版本的程式碼模組。

內聯首選項

您現在可以在外掛管理器視窗中 內聯首選項選項,這樣使用者就可以在無需開啟單獨的首選項對話方塊的情況下配置您的外掛。可以提供的配置控制元件型別有限,但這仍然非常有幫助 — 而且它也適用於 無需重啟(自舉)的擴充套件

另見