【问题标题】:Javascript in IE8 very slow, IE7 + others fast using jQuery, jQuery UI, nyroModalIE8 中的 Javascript 非常慢,使用 jQuery、jQuery UI、nyroModal 的 IE7 + 其他速度很快
【发布时间】:2011-02-02 18:01:40
【问题描述】:

页面在 nyroModal 中呈现(通过 ajax 加载),并且在实际显示页面之前使用几个插件对 DOM 进行了相当多的操作。

在非 IE 浏览器和 IE7 中一切正常,但在 IE8 中,可调整大小和可拖动的 div 非常缓慢,并且会一直爬行。

我知道IE8 is slow。我知道我的 DOM 很大。我知道我使用了很多插件。我的问题是,究竟是什么让它变慢了,因为其他浏览器做得很好?

我一个接一个地停用了每个插件以找到罪魁祸首。只有激活了可调整大小,它仍然很慢。

我使用了 IE8 分析器,它说偏移量大部分时间都在使用。

编辑:我使用 dynaTrace AJAX 版分析了页面,它告诉我这两个函数负责最多的执行时间:

jQuery.fn.offset = function(options)

jQuery.expr.filters.hidden = function(elem)

都在 jquery.js 中

我在某处读到 IE8 存在偏移问题,但我该如何规避呢?

Edit2:我构建了一个测试页面,其中只有一个链接来打开页面,所有调整大小都在模式中。在 ie8 中也很好用!所以我猜 modal-parent-page 的大 DOM 是问题所在。

任何建议表示赞赏!

【问题讨论】:

  • 我不知道你使用 jQuery 的经验,但你可能想看看 Addy Osmani 在这次演讲中给出的一些性能改进。 vimeo.com/18846584
  • 我已经实现了大部分速度改进。不过讲的很好,谢谢分享!

标签: javascript jquery performance jquery-ui internet-explorer-8


【解决方案1】:

Dynatrace 有一个非常好的 javascript 分析器。看看吧。

【讨论】:

    【解决方案2】:

    检查您的浏览器是否未在 IE7 仿真模式下运行。

    【讨论】:

    • 我查看了开发者工具,选择了 ie8
    • 你能找到运行缓慢的选择器吗?
    • 这是什么意思?运行缓慢的是 div 的大小调整和拖动
    • 你得到了很奇怪的结果,因为 IE8 比 IE7。你能分享你的页面吗?
    • 暂时不考虑,因为它是针对客户的,不被视为在线。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多