Firefox 8 插件更新
本文提供了有关为使您的现有插件与 Firefox 8 兼容而需要采取的步骤的信息。请参阅 Firefox 8 开发者版,了解 Firefox 8 中所有更改的完整列表。
您需要做任何事情吗?
如果您的插件在 addons.mozilla.org (AMO) 上分发,它已通过自动兼容性验证工具进行检查。不使用 Firefox 8 中已更改的 API 且没有二进制组件(每个主要 Firefox 版本都需要重新编译)的插件已在 AMO 上自动更新,以表明它们可以在 Firefox 8 中使用。
因此,您应该首先访问 AMO 并查看您的插件是否需要任何工作。
注意:即使您的插件已自动升级,您也应在 Firefox 8 上对其进行测试。可能存在无法自动检测到的极端情况。
确认需要进行更改后,请返回此页面并继续阅读。
开发流程说明
值得注意的是,在启动期间,Firefox 8 现在会在其首次启动时检查第三方插件,并提供一个用户界面供用户决定是否启用它们。如果您将插件放入配置文件目录以对其进行测试,则 Firefox 不会在第一次启动时自动启用它,而是会显示此界面。
您可以通过将首选项 extensions.autoDisableScopes
设置为 14 来避免这种情况。这仅应用于开发和测试目的。
接口已合并
作为我们持续改进 Gecko 内部结构的努力的一部分,一些接口已合并在一起
nsIDOMWindowInternal
已合并到nsIDOMWindow
中。nsIDOMWindowInternal
接口仍然存在,但为空,并且将在 Firefox 9 中完全删除。您应更新任何依赖于nsIDOMWindowInternal
存在的代码,以改为查找nsIDOMWindow
。nsISelection
的所有子接口都已合并到基础nsISelection
接口中。如果您碰巧之前正在查找nsISelection2
或nsISelection3
,则应更新您的代码。
日期处理改进
现在 JavaScript Date
对象可以解析 ISO 8601 日期,因此 ISO8601DateUtils.jsm
代码模块已被删除。如果您正在使用此代码模块,则应更新您的代码以改为使用 Date
上的方法。
DOM 更改
DOM 中有一些更改会影响插件
选择更改
过去,Document.getSelection()
返回的是选择的字符串化版本,而不是 Selection
对象本身。这是一种非标准行为,现已得到纠正。
潜在的名称冲突
添加 DOM 文件 API 后,添加了一个名为 File
的新全局变量;这可能会与脚本中的对象冲突。如果您有任何名为 File
的全局变量,则应重命名它们。
类似地,引入了一个新的全局变量 ChromeWorker
以支持允许从 chrome 代码中使用 Worker。如果您碰巧有任何同名的全局变量,则应重命名它们。
安全更改
已删除对 SSL 2.0 的支持。这不会影响任何当前插件。但是,作为参考,一些非常旧的代码已被删除,以及对首选项 security.enable_ssl2
(默认情况下为 false)和所有以“security.ssl2.
”开头的首选项的支持。