JavaScript 和 DOM 兼容性

随着网络上高级 JavaScript 技术(各种称呼为 Web 2.0AJAXDHTML)的日益普及,我们决定大力推动 JavaScript 和 DOM 的兼容性。而且,嘿,这些东西对于许多 Web 1.0 网站也很有用。(你能看出我不太喜欢这些流行词吗?)

我们正在针对多个测试套件进行测试,包括 Mozilla 的 JavaScript 测试套件和 W3C 的多个 DOM 测试套件。我们近期内不会淘汰 quirksmode.org。我们还在努力支持非标准的“DOM Level 0”功能以及 Firefox 和 Mozilla 的怪癖模式。但我们也在这些标准方面取得了很大进展。

以下是关于我们目前状况的快速更新,基于 WebKit 的最新 CVS 版本:

JavaScript

Mozilla JavaScript 测试 总计 1111 通过 1018 91.63% 成功率

DOM (在 HTML 页面中)

DOM Level 1 Core (HTML) 总计 238 通过 226 95.0% 成功率
DOM Level 2 Core (HTML) 总计 11 (1) 通过 11 100% 成功率
DOM Level 2 Events (HTML) 总计 26 通过 26 100% 成功率
DOM Level 2 HTML (HTML) 总计 685 通过 680 99.3% 成功率

DOM (在 XHTML 页面中)

请注意,本节仅适用于以 XHTML MIME 类型提供的 XHTML 页面。这不适用于当今网络上的大多数 XHTML 页面。但我们希望保持前瞻性,因此我们正在尽最大努力使 XHTML 和 XML 在 WebKit 引擎中良好运行。

DOM Level 1 Core 总计 238 通过 212 89.1% 成功率
DOM Level 2 Core 总计 11 (1) 通过 7 63.8% 成功率
DOM Level 2 Events (XHTML) 总计 26 通过 26 100% 成功率
DOM Level 2 HTML (XHTML) 总计 687 通过 597 86.9% 成功率
DOM Level 3 Core (XHTML) (2) 总计 708 通过 78 11.0% 成功率

最后,我想补充一点,尽管我们尚未通过所有 DOM 测试套件,但在许多方面我们实际上比大多数其他浏览器做得更好,并且我们正在积极努力做得更好。

1:许多 DOM Level 2 Core 测试尚未提供 HTML 独立版本——我们正在与 W3C 联盟的 QA 工作组合作解决这个问题。
2:DOM Level 3 支持是完全实验性的——我们尚未真正全力投入研究它。