Firefox 3.6 扩展更新
本文档为试图更新其扩展以使其在 Firefox 3.6 中正常工作的扩展开发者提供了有用的信息。
用户界面更改
右键点击元素(包括链接和图像)不再提供“属性”菜单项。 属性对话框对大多数用户来说没有用处,已被移除。如果您的扩展以任何方式与该菜单项交互,您需要修改您的代码自己添加它,或直接贡献您自己的上下文菜单项。
附加组件包更改
为了允许即使在禁用附加组件时也能显示附加组件的图标,Gecko 1.9.2 添加了对自动检测和使用名为icon.png
的图标的支持,该图标位于附加组件的根目录中。如果附加组件被禁用,或者清单文件中缺少iconURL
条目,则使用此图标。
HTML 5 兼容性改进
根据 HTML 5,DOM Level 2 视图对 HTML 和 XHTML 文档的处理现在已统一。
localName
DOM 属性现在以小写形式返回 HTML 元素节点的名称。以前,在 HTML 文档中,它以大写形式返回。(DOM Level 1tagName
继续在 HTML 文档中以大写形式返回。)namespaceURI
DOM 属性现在在 HTML 元素节点上返回"http://www.w3.org/1999/xhtml"
。以前,在 HTML 文档中,它返回null
。-
document.createElementNS(null, "FOO")
不再在 HTML 文档中创建 HTML 元素节点。document.createElement("FOO")
或document.createElementNS("http://www.w3.org/1999/xhtml", "foo")
继续在 HTML 文档中工作。 - XPath 中的
name
和local-name
函数以小写形式返回 HTML 元素的名称。以前,在 HTML 文档中,它们以大写形式返回。
最有可能的升级问题是模式if (elt.localName === "FOO")
。
示例:测试元素是否为 HTML img 元素
Firefox 3.6,text/html 和 application/xhtml+xml
if (elt.localName === "img" && elt.namespaceURI === "http://www.w3.org/1999/xhtml")
Firefox 3.5 和 3.6,仅扩展提供的 text/html,不含外部(例如 SVG)脚本插入的元素
if (elt.tagName === "IMG")
Firefox 3.5 和 3.6,text/html 和 application/xhtml+xml
if (elt instanceof HTMLImageElement)
不再支持 contents.rdf
Gecko 1.9.2 中已删除对用于注册 chrome 的已弃用contents.rdf
方法的支持,Firefox 3.6 不再支持。这意味着使用 contents.rdf 的附加组件将无法安装。
确保在您的 XPI 中包含chrome.manifest
。
注意:如果已安装,则使用旧的 contents.rdf 方法注册 chrome 的附加组件将继续运行。请确保通过实际删除并重新安装附加组件来测试您的附加组件,以确保在更新以使用安装清单后安装正常。