在我的Web应用程序中,有一个表具有多个50,000 rows
,并且使用了许多HTML <div>
标签。在chrome或firefox中打开表格时,可以正确呈现表格,但是Edge仅呈现第一列的几行,并且无响应。
这是浏览器的限制吗?或
可以通过特定于浏览器的代码对其进行修复吗?
请提出与该主题相关的任何内容。
编辑1:
该Web应用程序是使用asp.net 3.0 Web表单构建的。
在Edge的IE11中不起作用。
MSDN论坛链接:Edge Limitation in rendering a table having more than 50,000 rows
答案 0 :(得分:0)
表呈现对浏览器的要求很高,因为它基本上首先需要呈现 all 单元格的内容,以便能够确定每列的宽度。仅渲染视口中当前可见的内容就无法保证其性能。
而拥有如此多行的表只会使其“更糟”-50,000行是很多 。 (不仅对于浏览器,还可能对用户也是如此。也许可以让他们提前以某种方式过滤数据或实现分页?)
您可以尝试table-layout:fixed
来加快表格渲染的速度,有关更多详细信息,请参见http://www.competa.com/blog/speeding-up-rendering-of-large-html-tables/和https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout
然后,浏览器将把 first 表行的单元格宽度用作其后所有内容的列宽;因此通常将此属性与明确指定的像元宽度结合使用最有意义。