【问题标题】:.ajax issue, slows down overall performance in IE.ajax 问题,会降低 IE 的整体性能
【发布时间】:2012-09-06 15:04:48
【问题描述】:

我在同一页面上有两个 .ajax 调用,分别联系 google 和 flickr api。

$.ajax({
    type: "GET",
    url: 'https://gdata.youtube.com/feeds/api/users/marcomshull/uploads?v=2&alt=json&max-results=3&callback=?',
    contentType: "application/json; charset=utf-8",
    dataType: 'json',
    cache: false,
    success: function(data)
    {
        // some function
    }
});

出于某种原因,即使我对收到的数据什么都不做,它似乎仍然会减慢页面速度,“.animation()”和其他 javascript 功能会出现巨大延迟。

Firefox 和 Chrome 表现出色。

页面加载后,我尝试发出更多请求闪烁页面减慢几秒钟,加载内容,之后它工作正常。

我一直在使用 IE7 和 IE8。
第一个 ajax 请求 6 个项目(~32.64KB),第二个是 10 个(~1.83KB)。
页面上总共有 29 个请求 - 68kb 的数据。

【问题讨论】:

  • 服务器响应的大小是多少?
  • 欢迎来到 SO。您可以在一行的开头使用 4 个空格来制作代码块。关于编辑器帮助的更多提示。
  • 你对来自 ajax 请求的数据做了什么?涉及多少数据?什么版本的IE?
  • 我一直在使用 IE7 和 IE8。第一个 ajax 请求 6 个项目,第二个是 10 个。29 个请求 - 68kb 的数据。
  • 发起 AJAX 调用的操作是什么?

标签: jquery ajax performance internet-explorer


【解决方案1】:

IE7 和 IE8 在今天看来是相当老的浏览器,有时如果您正在处理一个包含大量移动部件(jQuery 动画等)的页面,您肯定会发现速度变慢了很多。然而在 IE7 中更是如此。 IE8 应该是半引人注意的,但远没有 IE7 差。

话虽如此,您是否尝试过完全移除 ajax 调用并分析 IE7/IE8 中的页面性能?我猜如果没有电话,情况也会同样糟糕。

几年前我也遇到过同样的问题,发现我只是想用旧技术做很多事情=/。

【讨论】:

  • 当我删除一个对 youtube API 的 ajax 调用时,整体性能会提高。但轻微的减速是显而易见的。当我删除两个 ajax 请求时,页面工作得很好,几乎和 chrome 一样好。 - 所有的动画都可以正常工作。
  • 很奇怪,我之前没有遇到过这个问题=/。
【解决方案2】:

我不知道这对你来说是否可行,但如果你在动画完成后进行 ajax 调用,它将提高效果的性能。

例子:

$('#content').animate(600, function(){
//ajax call here
)};

【讨论】:

  • 感谢您的示例,但在我的示例中这是不可能的。但我使用了类似的方法并设法让闪烁请求与我的动画顺利配合(那是他们没有谷歌 ajax 调用的时候)。一旦我激活其他 ajax 调用并刷新页面,它就会恢复正常。
猜你喜欢
  • 1970-01-01
  • 2016-02-25
  • 1970-01-01
  • 2021-10-20
  • 1970-01-01
  • 2015-07-01
  • 2018-12-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多