我需要知道什么是主要原因(除了像CSS选择器分组,减少图像大小,使用图像精灵等基本原因),这使得网站在Internet Explorer上运行缓慢,因为我的网站在其他网站上工作正常像FF,铬等。
在我所知道的一些问题之上,请回答我不能问的问题,因为对这些问题知之甚少。
我需要让我的网站在IE上表现良好(6,7,8)也请建议。
由于
答案 0 :(得分:3)
它与jQuery无关。然而,插件是命中或未命中,并且可能在IE中没有经过良好测试。我自己冒风险使用。
IE中的DOM操作非常慢。使用appendChild(或insertRow)添加多个节点(例如,100 +表示长列表)比构建字符串和执行一个innerHTML要慢得多。
您还需要小心访问节点的方式。开发人员倾向于过多依赖jQuery并通过他们的类名搜索节点,例如:
$(".evenRows").hover(doSomething);
IE没有按类名获取节点的本机方式,因此JQ循环遍历整个文档和每个元素并检查其类名...需要通过RegExp检查,因为它可能看起来喜欢:
class="evenRows yellow foo bar"
最后,尽管IE8有所改进,但仍然使用旧的渲染引擎 - 与IE6相同。不要对动画发疯,也不要指望奇迹。
答案 1 :(得分:2)
由于MSIE的默认限制为2个并发连接,因此应尽量减少构建页面所需的请求数(使用css-sprites,将js和css文件合并到一个文件中)
答案 2 :(得分:2)
虽然你需要在IE中加快速度,但你仍然可以使用Firebug来寻找消耗资源的地方。
很难回答像这样的一般性问题,但jQuery不太可能减慢一切,只记得
$('#myid')
$('div.myclass')
可以比$('.myclass')
快十倍。等等
更多tips for using jQuery以获得更好的效果。
答案 3 :(得分:0)
IE的早期版本通常会比IE的更高版本更慢地运行JavaScript,因为从那时起JavaScript编译速度有了进步。