本文梳理了 JavaScript 与 DOM 技术的发展脉络。从 Netscape 与 Sun 合作推出 JS,到微软 IE 引入 JScript 引发的浏览器大战,再到因 DOM 不兼容导致的开发困境。最终 W3C 整合各方优势制定统一的 DOM Level 1 标准,确立了跨平台文档访问规范,为后续 Ajax 及 HTML5 时代的 Web 开发奠定基础。
JavaScript 的诞生与标准化
JavaScript 由 Netscape 与 Sun 公司联合开发。在 JavaScript 1.0 发布之际,Netscape Navigator 占据浏览器市场主导地位。随后微软在发布 IE3 时推出了 VBScript,并以 JScript 名义发布了 JavaScript 的一个版本,迅速缩小了与 Netscape 的技术差距。为应对微软的竞争,Netscape 与 Sun 联合 ECMA(欧洲计算机制造商协会)对 JavaScript 进行标准化,由此诞生了 ECMAScript,这实质上是同一种语言的不同命名。
DOM 扩展与 DHTML 的兴起
DOM(文档对象模型)提供了一套抽象和概念化文档内容的方法。1997年6月发布的 Netscape Navigator 4 与同年10月发布的 IE4,均对早期版本进行了大量改进,大幅扩展了 DOM 功能,使得通过 JavaScript 实现的功能显著增加。与此同时,网页设计师开始接触“DHTML”(动态 HTML)这一新概念。
DHTML 并非单一新技术,而是指 HTML、CSS 与 JavaScript 技术的组合。然而,Netscape 4 与 IE 4 采用的 DOM 互不兼容,导致程序员在编写脚本时必须针对特定浏览器环境进行开发。这迫使许多脚本需要编写两个版本,分别适配 Netscape Navigator 和 IE,同时还需额外代码来探测客户端浏览器类型。尽管 DHTML 开启了新机遇,但由于实现困难,该技术很快被评价为“宣传噱头”且“难以实现”。
W3C 统一 DOM 标准
在浏览器厂商以 DOM 为营销工具展开竞争的同时,W3C 整合各方优势推出了标准化的 DOM。Netscape、微软及其他浏览器厂商放下分歧,与 W3C 合作制定新标准,并于 1998 年 10 月完成了“第 1 级 DOM”(DOM Level 1)。
W3C 将 DOM 定义为“一个与系统平台和编程语言无关的接口,程序和脚本可以通过这个接口动态的访问和修改文档的内容、结构和样式”。相较于各浏览器厂商各自推出的专有 DOM,W3C 标准化的 DOM 在独立性和适用范围上具有显著优势。
现代浏览器对 DOM 的支持
如今,几乎所有浏览器均内置支持 DOM。异步数据传输技术(Ajax)引发了学习 DOM 脚本编程的热潮,而 HTML5 DOM 的众多新特性,更让人对 Web 的未来充满期待。
以上是对《JavaScript DOM 编程技术》(第 2 版)第一章的读后总结,旨在梳理 JavaScript 的发展历史。