为什么jQuery Ajax在IE7上这么慢?

我在IE7上遇到jQuery AJAX调用问题。 这个简单的代码在FF和Opera上运行良好。 但在IE7上需要3-5秒。 – 这比FF快20倍! 加载内容是纯HTML和内联JavaScript代码。 没有JS渲染。 我甚至改变了内联JavaScript代码。 布依然很慢。

$('#block').load('some url'); 

如何克服这个问题? 任何帮助将不胜感激。

如何克服这个问题? 任何帮助将受到高度赞赏。

在页面加载时检测IE7,并提供一个离散的建议,即不喜欢缓慢加载的用户应该升级。

慢速jscript ie7引擎我遇到了同样的问题。 我为人类添加了一个状态弹出窗口。 当JS以块的forms进行时,我更新了状态窗口。 伪代码:

  1. 使用您的favorit js库创建一个状态容器。 我更喜欢YUI。 看他们的容器api。
  2. 加载一些数据。 – 你首先需要把它分成块
  3. 更新状态弹出窗口。 (增加完成的%负载,增加条形指示器等)请注意,由于您的JS线程仍在运行,此时屏幕可能不会更改。
  4. 接下来,打电话
  var t = setTimeout(“next_step(2)”,0);
 //其中arg为2意味着要做第二步
 //这将产生浏览器,然后将更新显示。
 //如果你想在函数中保持“this”的值,那么就做
 // 就像是
 var t = setTimeout(“next_step.call(MyContext,2)”,0);
 //使用call来设置函数的上下文。 

底线是用户将在屏幕上看到一些变化。 请注意,相对而言,超时为0的屈服步骤需要相当长的时间。 所以我的代码测试浏览器,如果它不是IE,那么每个块的工作量会更多。

向用户提供变化的反馈非常重要。 否则他们认为这比实际需要的时间更长。

HTH,

拉里

你真的没什么可做的。 IE的javascript引擎比任何其他引擎慢得多(事实上,它很糟糕)。 你可以尝试IE8。 它更好……略微……

我必须看到实际的代码,但面对类似的问题,我不得不摆脱jQuery.load() 。 相反,我使用了带有“html”数据类型的jQuery.get()并编写了我自己的回调函数 ,我通过.innerHTML注入了数据。 这样做,我还打了另一个bug(它是一个

结果代码是这样的:

 // Fetch data (GET method allows me to use browser cache) $.get(url, get, function(htmlValues, txtStatus){ that.populateSelects(htmlValues, that.selectContainers); }, "html"); // Create '); $("