更新 Firefox 7 的扩展

本文为想要更新扩展以在 Firefox 7 中运行的附加组件开发人员提供建议。幸运的是,此版本中的大多数更改都相对较小,并且很少有附加组件需要进行重大更改才能在 Firefox 7 中运行。

注意:有关 Firefox 7 中所有与开发人员相关的更改的完整列表,请参阅面向开发人员的 Firefox 7

与往常一样,您需要重新编译任何二进制组件,以使其与 Firefox 7 兼容。

影响兼容性的 XPCOM 更改

此版本中的大多数更改都是 XPCOM 接口删除,或从接口中删除特定、过时的 API。

已删除的接口

以下接口是最有可能影响扩展开发人员的已删除接口

  • nsIDOM3Node
  • nsIDOM3TypeInfo
  • schemaTypeInfo
  • nsIDOMNSDocument
  • nsIDOMDocumentStyle

您可以在面向开发人员的 Firefox 7已删除的接口部分中获得已删除接口的完整列表。

更改的方法

一些接口的方法已更改

nsINavHistoryObservernsINavBookmarkObserver

这些已更改为通过在几种方法中添加新的 GUID 参数来更好地支持 Firefox Sync。基于 JavaScript 的代码不需要任何更改,因为这只是添加了一个新的可选参数。但是,二进制组件需要更新以考虑新的参数。

nsIDOMFile

从该接口中删除了许多非标准方法。这会影响File 对象的File.getDataAsUrl()File.getAsBinary() 方法。但是,此功能现在可以在标准的FileReader 对象中找到。

其他值得注意的更改

这些更改不会影响兼容性(我们没有说谎,我们说过此版本中没有多少更改会影响兼容性),但确实添加了一些易于利用的功能,这些功能可能对您特别有用。

卸载 JavaScript 代码模块

新的 Components.utils.unload() 方法允许您卸载以前通过调用 Components.utils.load() 加载的 JavaScript 代码模块。对于无重启(引导)扩展,这可能特别有用,以便您可以在安装附加组件的新版本时卸载代码模块的旧版本。

内联首选项

您现在可以在附加组件管理器窗口中内联首选项选项,这使用户无需打开单独的首选项对话框即可配置您的附加组件。可以提供哪些类型的配置控件有限制,但这仍然非常有用——此外,它适用于无重启(引导)扩展

另请参阅