我有一个页面显示了大约 300 页的表格数据。 Firefox、Chrome、Safari 都可以正常工作,但 IE 7、8 和 8 的兼容性 View 都很糟糕。当我尝试滚动或按下向上翻页/向下翻页按钮时,它会滞后几秒钟。
分页、较小的数据集和其他可用性建议不适用于此页面。假设我别无选择,只能一次显示所有这些数据……我可以做些什么来调整它?
数据是通过 jQuery/Ajax 加载的,这似乎至少在某种程度上是可疑的,因为当我创建一个测试页面来直接呈现结果时,它并不相当那么慢,但仍然不如其他浏览器那么活泼。
我过去曾成功使用 SlickGrid 等 jQuery 插件来解决类似问题,但由于需要很长时间才能解释的原因,即使使用微模板呈现功能,它们也不是一个选项。我主要关心的是我可以进行哪些调整来提高性能,而无需重新设计整个页面或引入第三方解决方案。
简化的 DOM 会产生很大的不同吗?或者 IE 不能很好地处理通过 JavaScript/Ajax 引入的数据?
最佳答案
如果没有更多详细信息或示例,很难看清楚...您是如何构建内容的?构建表内容有很多小问题:特别是设置 innerHTML
直接在 <table>
在 IE 中不工作,所以 jQuery 的 html()
如果您使用的是这种方式,则可能会进行漫长而缓慢的操作。
但是对于任何有表格的东西,尤其是大表格的通用提示:设置样式 table-layout: fixed
在 <table>
上元素,设置列 width
仅第一行单元格或一组 <col>
上的样式秒。 (没有显式 width
的列将在流式布局情况下平均共享剩余宽度。)
由于它不依赖于每个单元格中的内容量,fixed
表格布局比默认布局更快且更可预测 auto
表格布局算法。
关于javascript - 如何提高 IE8 对大数据集的性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2897956/