网页中允许的最大div数

Sau*_*Sau 10 html javascript jquery internet-explorer

嗨,我想知道网页上允许的div数量是否有限制?

例如,当Internet Explorer必须呈现具有一千个div的网页时,它会开始窒息吗?

Phi*_*hil 29

我知道这是一个老帖子,但我最近做了一个与这个主题直接相关的测试,我想分享我的结果.

我创建了一个简单的PHP脚本,它会扫出x个5px乘5px的内联块div来测试浏览器的稳定性和页面滚动能力.

页面上的1000 divs,IE9,Firefox和Chrome没有任何问题,甚至在滚动时似乎没有打嗝.

在10,000分的情况下,IE9和Chrome能够以几乎没有明显的延迟滚动,仍然在我书中的"可接受"范围内,但Firefox开始明显滞后,直到你感觉滚动条跳到位置a比应该晚了半秒.

有趣的是,10,000 div和100,000之间的性能差异并不像你想象的那么剧烈.IE9和Chrome在滚动时几乎没有明显的延迟(Chrome在这两者中稍微平滑一些),Firefox有一个非常明显的延迟,可能会被认为很烦人,但仍然运行得相当好(即它没有'崩溃).

现在页面上有500,000个div,它终于开始变得有趣了.IE9崩溃并试图重新启动(当然在同一页面上)并再次崩溃,此时我正确关闭它,重新启动它,并再试一次,以确保再次发生相同的结果.它做了.

Chrome保持稳定,但由于极端延迟,几乎不可能滚动页面.

最令人惊讶的是Firefox,这个浏览器的重量达到100,000 div,大约相同,达到500,00 divs ...滚动不顺畅,但它比Chrome还好.

令人惊讶的是,对于页面上的1,000,000个div,结果几乎相同!Firefox处理它们时没有崩溃,虽然"矮胖"但仍然可以滚动.IE9崩溃了.Chrome可以加载页面,但变得非常慢,几乎无法使用.

我知道这不是一项科学研究,但我认为除了我自己以外的其他人可能会感兴趣.

测试是在带有Dual-Xeon处理器和4台ram的戴尔工作站上运行的,运行Windows 7.

  • 很酷的信息,即使你的测试有点受限. (3认同)

Del*_*ani 1

有两件事需要考虑。内存就是其中之一,其中 DOM 节点占用大量空间。另一个是当某些情况发生变化时重新渲染所有这些节点所需的 CPU 时间。平滑渲染的阈值取决于所使用的引擎。根据我的经验,IE 远远落后,几百之后就开始窒息。Firefox 可能需要几千个,对于 Chrome 等 WebKit 浏览器来说也差不多(而且稍微好一点)。