我有一个使用 JQuery 的页面,并且我在 div 上实现了无限滚动。页面上有一个文本区域。我注意到,随着更多行添加到可滚动 div 中的表中,页面的性能会变得更差。当页面尺寸很大并且您尝试在文本区域中键入任何内容时,您确实可以分辨出来,因为在文本区域中键入文本的时间与您实际看到文本出现的时间之间存在很大的滞后。这只发生在 IE8 中。我没有尝试过其他版本的IE。在 Firefox 中不会发生这种情况。在 Firefox 中速度非常快。
我使用了一个工具来检查 IE 正在做什么,它花费了大部分时间为每个击键进行页面的通用渲染,即使没有任何新内容添加到页面中。
为什么 IE8 中页面渲染如此频繁且缓慢?有办法改进吗?
最佳答案
我认为表格是造成性能问题的原因。我在使用js动态添加行到包含表单元素的表格时遇到了类似的问题。
查看此Microsoft Article有关如何提高性能的提示,特别是在使用表格时。
- 将表格布局 CSS 属性设置为固定在表格上。
- 为每列显式定义 col 对象。
- 为每列设置 WIDTH 属性。
例如:
table
{
table-layout:fixed;
}
避免在表内嵌套表等。
W3Schools强调使用不同表格布局算法的优点和缺点。
FireFox 似乎比 IE 更有效地处理表格的呈现,但使用这些技术似乎对大多数浏览器都有帮助。
希望这有帮助!
关于html - 随着页面大小的扩大,文本区域中每次击键的 IE8 渲染速度会变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3486266/