更新 Firefox 6 插件
本文概述了为了使您的插件在 Firefox 6 中正常工作,您可能需要对其进行的更改。您可以在 Firefox 6 for developers 中找到 Firefox 6 中与开发相关的完整更改列表。
您需要做些什么吗?
如果您的插件分发在 addons.mozilla.org (AMO) 上,它已经由自动兼容性验证工具进行了检查。不使用 Firefox 6 中已更改的 API 且没有二进制组件(需要为每个主要的 Firefox 版本重新编译)的插件已自动在 AMO 上更新,以表明它们可以在 Firefox 6 中正常工作。
所以,您应该首先访问 AMO,查看您的扩展是否需要进行任何工作。
注意: 即使您的插件已自动升级,您仍应在 Firefox 6 上对其进行测试。可能存在未自动检测到的边缘情况。
一旦您确认需要进行更改,请返回此页面继续阅读。
UI 更改
在“工具”菜单中添加了新的“Web 开发者”子菜单,这意味着依赖于移至该处的项目的覆盖将与以往不同。您的覆盖仍将继续工作,但您的项目将不会出现在您期望的位置。您应该更新您的覆盖,以确保菜单项出现在您想要的位置。
同样,“历史记录”和“书签”菜单中的菜单项顺序也可能影响您插件的覆盖。
二进制组件兼容性
Firefox 5 中存在一个 bug,它导致如果二进制组件是为不同版本的 Gecko 构建的,它们不会被正确拒绝。这在 Firefox 6 中已修复;如果您的插件的二进制组件无法加载,请检查以确保您已使用 Gecko 6 SDK 重新构建了它们。
偏好
已移除 app.update.timer
首选项;您需要改用 app.update.timerMinimumDelay
首选项。
此外,已添加特定于站点的隐私首选项。这只会影响那些期望在主首选项窗口中找到与隐私相关的首选项(隐私、记住密码等)的插件。
DOM 更改
window.top
属性现在是只读的。如果您的 chrome 脚本中有一个未声明的名为 top
的变量,这将会影响您的插件。
URL 处理
在地址栏中输入的 javascript:
和 data:
URL 不再继承当前加载页面的 principal。这可能不会影响许多插件,但如果您运行的代码使用这些 URL,您可能需要仔细检查一切是否按预期工作。
Firefox bug 658949 更改了 data URL 中哈希 (#) 符号的处理方式,这可能会破坏包含此类符号的 CSS 样式表(如果未对其进行转义)。
接口
一些已被弃用或属于实现细节的接口 已被移除。如果您依赖于其中的任何一个,您需要修改您的代码。