更新 Firefox 7 的扩展
本文为想要更新扩展以在 Firefox 7 中运行的附加组件开发人员提供建议。幸运的是,此版本中的大多数更改都相对较小,并且很少有附加组件需要进行重大更改才能在 Firefox 7 中运行。
注意:有关 Firefox 7 中所有与开发人员相关的更改的完整列表,请参阅面向开发人员的 Firefox 7。
与往常一样,您需要重新编译任何二进制组件,以使其与 Firefox 7 兼容。
影响兼容性的 XPCOM 更改
此版本中的大多数更改都是 XPCOM 接口删除,或从接口中删除特定、过时的 API。
已删除的接口
以下接口是最有可能影响扩展开发人员的已删除接口
nsIDOM3Node
nsIDOM3TypeInfo
schemaTypeInfo
nsIDOMNSDocument
nsIDOMDocumentStyle
您可以在面向开发人员的 Firefox 7的已删除的接口部分中获得已删除接口的完整列表。
更改的方法
一些接口的方法已更改
-
这些已更改为通过在几种方法中添加新的 GUID 参数来更好地支持 Firefox Sync。基于 JavaScript 的代码不需要任何更改,因为这只是添加了一个新的可选参数。但是,二进制组件需要更新以考虑新的参数。
nsIDOMFile
-
从该接口中删除了许多非标准方法。这会影响
File
对象的File.getDataAsUrl()
和File.getAsBinary()
方法。但是,此功能现在可以在标准的FileReader
对象中找到。
其他值得注意的更改
这些更改不会影响兼容性(我们没有说谎,我们说过此版本中没有多少更改会影响兼容性),但确实添加了一些易于利用的功能,这些功能可能对您特别有用。
卸载 JavaScript 代码模块
新的 Components.utils.unload()
方法允许您卸载以前通过调用 Components.utils.load()
加载的 JavaScript 代码模块。对于无重启(引导)扩展,这可能特别有用,以便您可以在安装附加组件的新版本时卸载代码模块的旧版本。