在我的Web应用程序中,有一个表具有50,000 rows
多个并且使用了很多HTML <div>
标签。 在Chrome或Firefox中打开时,表格可以正确呈现,但Edge仅呈现第一列的几行并且没有响应。
这是浏览器的限制吗?或
可以通过浏览器特定的编码来修复吗?
请提出与此主题相关的任何建议。
编辑1:
Web 应用程序是使用 asp.net 3.0 Web 窗体构建的。
它在IE11,Edge中不起作用。
MSDN 论坛链接:呈现超过 50,000 行的表时的边缘限制
表格呈现对浏览器的要求很高,因为它基本上需要首先呈现所有单元格的内容才能确定每列的宽度。仅渲染视口内当前可见的内容无法确保性能安全。
拥有一个包含大量行的表只会让它变得"更糟" - 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
然后,浏览器将应用表格第一行单元格的宽度作为后面所有内容的列宽;因此通常将此属性与显式指定的单元格宽度结合使用是最有意义的。