浏览器是否必须使用DOM来渲染HTML页面?

3
我正在阅读维基百科上关于文档对象模型的页面,其中有一句话引起了我的兴趣,它说:“Web浏览器不必使用DOM以渲染HTML文档。”。这句话的意思是是否有其他替代方法来渲染HTML文档?请参考此页面以获取完整的上下文。

这意味着它们不必遵循文档对象模型。他们可以开发全新的模型来构建文档,但这会破坏其他使用DOM的技术,如Javascript,因此您可能不会看到任何浏览器偏离DOM太远。 - Jared
6
HTML比DOM更早。最初的浏览器不能使用它。 - Alohci
@Sime Vidas,你是指像汇编语言一样吗?此外,我们谈论的不是一个DOM,而是the DOM,它由w3c 概述 - zzzzBov
@Alohci 如果HTML比DOM旧,那么当时浏览器是如何渲染页面的呢?你可以指引我一些资源,我并不需要在这些评论中得到详细的答案。 - Hrishikesh Choudhari
2
@Hrishikesh - 我不知道这个领域有什么资源,但是有一些线索。在CSS出现之前,可以将HTML视为一组渲染指令。例如,<p>最初是一个段落分隔符,在视觉媒体中相当于“开始新行并在上方留出一些空间”,在听觉媒体中相当于宣布“新段落”。或者将开始和结束标签视为“启用功能X”和“关闭功能X”,这就是为什么像<b><i>我的文本</b></i>这样的代码能够始终正常工作的原因。 - Alohci
显示剩余3条评论
2个回答

4
严格来讲,IE (至少< IE9版本)不使用DOM来渲染HTML文档,它使用自己的内部对象模型(该模型并非总是纯树形结构)。
DOM是一种API,IE将API方法和属性映射到其内部模型上的操作中。由于DOM假定一个树形结构,因此在通过DOM在IE中访问文档时,映射并不总是完美的,这解释了许多奇怪的现象。

3

浏览器的主要作用是显示 HTML。大多数浏览器使用 DOM;它们解析 HTML,从中创建一个 DOM 结构(也可以在 JavaScript 中使用),并基于该 DOM 渲染页面。

但如果浏览器选择不这样做,它也是自由的。我不知道原因,我也肯定不明白为什么 Wiki 文章中明确提到了这一行。


1
那么浏览器可以读取HTML代码并呈现页面,而无需遵循DOM吗?您能否指向一些链接,让我可以阅读更多关于这方面的内容? - Hrishikesh Choudhari

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接