更新 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 的 已移除接口 部分找到已移除接口的完整列表。
已更改的方法
一些接口的方法已发生更改
-
这些接口已更改,通过向其多个方法添加新的 GUID 参数来更好地支持 Firefox Sync。基于 JavaScript 的代码不应需要任何更改,因为这只是添加了一个新的可选参数。但是,二进制组件需要更新以考虑新参数。
nsIDOMFile
-
此接口已移除多个非标准方法。这会影响
File
对象的File.getDataAsUrl()
和File.getAsBinary()
方法。但是,此功能现在可以在标准的FileReader
对象中找到。
其他值得注意的更改
这些更改不会影响兼容性(我们没有开玩笑说此版本中很少有更改会影响兼容性),但确实增加了易于利用的功能,这些功能可能对您特别有用。
卸载 JavaScript 代码模块
新的 Components.utils.unload()
方法允许您卸载先前通过调用 Components.utils.load()
加载的 JavaScript 代码模块。这对于无需重启(自举)的扩展特别有用,这样您就可以在安装新版本的插件时卸载旧版本的代码模块。
内联首选项
您现在可以在插件管理器窗口中 内联首选项选项,这样用户就可以在无需打开单独的首选项对话框的情况下配置您的插件。可以提供的配置控件类型有限,但这仍然非常有帮助 — 而且它也适用于 无需重启(自举)的扩展。