我将多个页面合并为一个页面。其中一些页面有自己的html,head和body元素。这些页面的性能是否有害?似乎在FireBug中DOM是正确的(每个元素只有一个)。
答案 0 :(得分:7)
首先:不要那样做。
如果涉及解析HTML,浏览器非常容忍,因此firefox在您的情况下具有有效的DOM。拥有多个html,body和head标签不会影响页面解析的性能。但请注意,浏览器将以怪癖模式运行并影响任何元素的呈现。
无论如何,这完全违反任何标准,你应该避免产生这样的页面。某些浏览器可能拒绝显示您网站的任何内容。例如,这可能是您没想过的一些浏览器,文本浏览器或旧手机上的轻量级浏览器。
答案 1 :(得分:1)
DOM可能是正确的,但是由Web浏览器实现来决定在这种情况下该做什么。这是由于情况是“未定义的状态”。
一种选择是停止消化HTML,HEAD和BODY元素的下一次出现。另一个(不太有利的恕我直言)将只考虑最后一个。但这完全取决于特定的浏览器实现(或Web组件)以及它是如何构建的。
答案 2 :(得分:0)
拥有多个html
,head
或body
无论如何都不利于您的网页符合标准(无论是HTML还是XML),应该避免出于这个原因。
现在关于性能,这很可能让你的浏览器使用“怪癖”模式,并可能在特定情况下对某些元素进行不正确的渲染(或者一切都很好,但不应该总是依靠运气我猜测)。