【发布时间】:2011-11-08 00:09:41
【问题描述】:
我想知道限制是多少(以字节为单位),或者在什么时候中断通过 innerHTML = $string 或 .append() 渲染 DOM 元素的 innerHTML。
1MB、5MB、10MB?
我想取决于浏览器?
无论如何,我怎么能找到那个限制?
编辑(2011 年 11 月 11 日):
我创建了一个test,它迭代地将一个字符(字母)添加到一个innerHTML,并计算了jsperf 添加该字符的次数。
我在三个浏览器上都有下一个结果:
Avg. of max letters: | Browser
==================================================
15373 | Chrome 7.0.517.44
29148.5 | Firefox 6.0
14285.75 | IE 8.0 (running in IE 7 mode)
10257.75 | IE 8.0
我可以假设一个 DOM 元素在 ajax 请求中可以通过 innerHTML 接收的最大字母最多为 10k,以免中断自身的呈现?
还是我完全错了?
【问题讨论】:
-
每个字符串都会按比例减慢浏览器的速度。您解释为“慢”的可能不是我认为的慢,因此很难找到特殊值。
-
@Pekka 我想知道如何制作一个方法或脚本来获取大样本或其他东西。
-
jsperf.com 可能更大的性能损失是通过一遍又一遍地设置
.innerHTML来构造一个字符串。 -
如前所述,定义“慢”。这真的是一个“一根绳子有多长”的问题。抱歉,我忍不住了。
-
@JaredFarrish 我创建了一个test,但我不知道如何获取这些结果。我编辑了我的问题。