我正在使用IE9,使用F12工具进入IE8标准模式,来测试我的页面。页面脚本使用getBoundingClientRect
来计算视口中可见的内容。
使用分析工具,我看到getBoundingClientRect
的来电需要花费很多时间。例如,对函数的244次调用占用了4,361ms的独占时间!
这个功能在IE8中有这么慢的原因吗?在IE9模式,Chrome,FireFox等运行时,功能似乎很快。
答案 0 :(得分:0)
getBoundingClientRect最初由Microsoft在IE5中引入,并且没有已知的性能问题。
jQuery UI和其他人使用它,当他们过去移动它时,很棒:http://ejohn.org/blog/getboundingclientrect-is-awesome/
我找到了jQuery similar calculation
和getBoundingClientRect
之间的比较:
http://jsperf.com/getboundingclientrect-vs-jquery
通常赢得getBoundingClientRect
您正在以IE8兼容模式运行您的网站,有时可以丑化性能,您可以在真正的IE8浏览器中进行测试吗?这里的表现必须相同。