如果
HTML足够复杂,则
HTML内容的布局和呈现可能需要一些时间.为了帮助布局引擎(特别是在IE中),我找不到如何编写HTML的最佳做法,以便页面重绘更快.这样的一套最佳做法是否存在?
我目前的具体问题是,我的表格数据(在表格元素中)导致画面太慢,并且使DOM更新(悬停效果)和动画非常缓慢.我相信这不是JavaScript的表现.我已经使用dynaTrace AJAX检查了该页面.当我将鼠标悬停在元素上时,cpu变得太忙了,但是没有JS运行.而悬停是通过向TR元素添加/删除类实现的.我也在Firefox中尝试过YSlow,它没有显示任何特定的问题.它也不是网络相关的. (Firefox更快地展示了该页面,但并不是因为它的JS引擎更快)
有没有工具来在IE中绘制和布局,以便我可以找出问题来自哪里?什么可以导致绘图太慢,所以我可以避免HTML代码?
解决方法
已知Internet Explorer呈现较大的HTML表格.
请参阅这篇关于MSDN:Building High Performance HTML Pages的很好的文章,特别是关于表的部分:
- Set the table-layout CSS attribute to fixed on the table.
- Explicitly define col objects for each column.
- Set the WIDTH attribute on each col.
那么ieblog上还有一个很好的博客文章:Table Rendering.
归结为:尝试使表内的内容变得复杂,即设置固定宽度,并且没有太多的动态呈现操作. IE首先加载内容,然后计算内容的正确宽度== slow.