揭穿 DOM 的迷思:DOM 是与 HTML 一起发明的吗?
人们普遍认为 DOM 与 HTML 同时出现,并且一直是 Web 开发不可或缺的一部分,开发人员从一开始就拥有动态操作 HTML 元素的工具。然而,这远非事实。事实上,从 HTML 的出现到 DOM 的诞生,中间间隔了近十年!这究竟是怎么回事?
不可否认,90年代中期互联网的发展速度令人瞩目。想象一下,从蒂姆·伯纳斯-李创建第一个网页到亚马逊网站亚马逊上线,仅仅用了四年时间。到1996年,互联网已经普及到如此程度,以至于第一个电影《空中大灌篮》的宣传网站也应运而生。
然而,Web 开发本身仍然相当原始,工具非常有限,无法跟上行业的快速发展。想想看——HTML 的第二个版本出现在 1995 年(当时还没有正式的第一个版本),JavaScript 的第一个版本也是同年开发出来的,CSS1 则在 1996 年 12 月发布。在这一切之中,DOM 仍然是一个遥远的愿景。
那么,是什么促使社区创建了统一的标准呢?90年代中期,所谓的“第一次浏览器大战”正如火如荼地展开,当时的两大巨头——Netscape Navigator 和 Internet Explorer——展开了激烈的竞争。在争夺市场份额的斗争中,开发人员提出了新的技巧和功能,加剧了当时最大的问题——缺乏统一的标准实施方法。没错,我说的就是你们,Internet Explorer,以及你们的 ActiveX。
因此,每个浏览器都有各自的 HTML 处理工具,这意味着,如果你只在 Internet Explorer 中测试代码,用于制作雪花动画的简单脚本可能无法在竞争对手的浏览器中运行,反之亦然,在 Netscape Navigator 中测试。这可能会导致不可预测的行为、代码臃肿和逻辑错误。
1994年,万维网联盟 (W3C) 成立,旨在规范 Web 技术,简化 Web 开发者的工作。该组织的主要举措之一是创建 DOM(即文档对象模型),以标准化与 Web 文档的交互。
DOM 文档的第一个版本于 1998 年发布,标志着 Web 开发历史上的一个重要里程碑。最终,一种表示和与 HTML 文档交互的标准化方式被引入,让开发者能够希望他们的“雪花”在所有相关浏览器中都能以相同的方式呈现。第一个 DOM 成为了现代 Web 应用程序的基础。
然而,这并不意味着所有 Web 开发问题都在那一年得到了解决。相反,它们达到了一个新的高度。现在,除了与竞争对手的不兼容之外,大多数浏览器都与标准不兼容。有些人试图解决这个问题,有些人对此视而不见,有些人假装自己所做的就是最标准的标准,而其他标准则并非如此。著名的 jQuery 直到 2006 年才出现,这一事实生动地表明,跨浏览器兼容性问题不仅没有消失,反而在 DOM 标准出现八年后愈演愈烈。
但那是另一个故事了。
文章来源:https://dev.to/babichweb/mythbusting-dom-was-dom-invented-alongside-html-3fme