我们正在使用Telerik报告在客户端上生成报告。现在,我们在一些罕见的情况下遇到一些问题,布局中的工件和浏览器挂起。这只发生在IE9中,而不是最新的Chrome浏览器。
所以我创建了一个小例子来测试它是否与页面上的元素数量有关,并发现当有超过2 ^ 15个绝对定位元素时会出现问题。 (很多,是的 - 但是如果我们要保留这个框架,我就无法控制。)
<html>
<head>
</head>
<body>
<script type="text/javascript">
for(var i = 0; i < 32768; i++){
document.write("<div id = 'node" + i + "' style='position:absolute;top:" + i*25 + "'>distance to top: " + i*25 + "</div>");
}
</script>
</body>
</html>
我很欣赏确认这是IE9的问题和/或有关如何解决它的建议。
答案 0 :(得分:0)
注意2 ^ 15是32768,这是16位整数的上限。在这种情况下,Internet Explorer似乎将元素层次结构(DOM或文档对象模型)存储为16位整数,因此是限制。
请注意,这不是任何固有的HTML限制,而只是IE9中的实现限制。请尝试在IE10 / 11中检查,因为这些浏览器同时增加了CSS规则(http://blogs.msdn.com/b/ieinternals/archive/2011/05/14/internet-explorer-stylesheet-rule-selector-import-sheet-limit-maximum.aspx)和DOM元素的限制。