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 接口中。如果您碰巧之前正在查找 nsISelection2nsISelection3,则应更新您的代码。

日期处理改进

现在 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.”开头的首选项的支持。

另请参阅