繁体   English   中英

我的网站在IE上运行缓慢的主要原因可能是什么?

[英]What are the likely main reasons my website is very slow on IE?

我需要知道什么可能是主要原因(除了对CSS选择器进行分组,减小图像大小,使用图像精灵等基础知识之外),这会使网站在Internet Explorer上变慢,因为我的网站在FF等其他网站上都能正常工作,铬等

  1. 它是否大量使用了Javascript框架(即jQuery,extjs,prototype)?
  2. 是因为使用了基于JS框架的插件吗?
  3. 我应该使用核心javascript并删除任何js框架吗?
  4. 我应该避免使用jQuery(document).ready()吗? 如果是jQuery框架?

在我所知道的一些问题之上,请回答由于对这些知识的了解较少而无法提出的问题。

我需要使我的网站在IE(6,7,8)上表现良好,也请提出建议。

谢谢

它与jQuery无关。 但是,这些插件很容易碰到,可能无法在IE中进行良好的测试。 我会自担风险。

在IE中,DOM操作非常缓慢。 使用appendChild(或insertRow)添加多个节点(例如,一个长列表为100+)比构建一个字符串并执行一个innerHTML要慢得多。

您还需要注意如何访问节点。 开发人员往往过于依赖jQuery,并通过其类名搜索节点,例如:

$(".evenRows").hover(doSomething);

IE没有通过类名获取节点的本地方法,因此JQ遍历整个文档和每个单个元素并检查其类名...这需要通过RegExp进行检查,因为它可能类似于:

class="evenRows yellow foo bar"

最后,尽管有所改进,但IE8仍使用旧的渲染引擎-与IE6相同。 不要对动画发狂,不要期待奇迹。

由于MSIE的默认限制为2个并发连接,因此应尽量减少构建页面所需的请求数(使用css-sprites,将js和css文件合并为一个文件)

虽然您需要加快IE的速度,但仍然可以使用Firebug查找消耗资源的位置。

  • 安装Yslow并查看其内容
  • 在探查器下运行该站点(Yslow或Firebug有一个),并查找瓶颈

要回答这样的一般问题非常困难,但是jQuery不太可能成为减慢一切的一种方法,请记住

  • 尽可能使用ID作为选择器-它们是最快的,即$('#myid')
  • 避免使用没有标记名的.class选择器,即$('div.myclass')可以比$('.myclass')快十倍。

等等

使用jQuery获得更好性能的更多技巧

通常,较早版本的IE会比早期版本的IE运行JavaScript慢,因为自那时以来,JavaScript的编译速度已有所提高。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM