0

When using jQuery to load HTML into an element, I am seeing very poor performance in IE. Chrome is not showing any performance problems. Changing the IE browser mode does not appear to improve the performance.

When running the profiler in IE, I see that most of the time is being spent in the RegExp.test function.

HTML:
<div id="content"></div>

JavaScript:
var htmlString = <div>...Lots and lots of content...</div>
$('#content').html(htmlString);

  • jQuery version: 1.9.1
  • IE version: 9
4

2 回答 2

2

加载大量内容时,不要以开始标签开始,以结束标签结束。

将内容更改为: var htmlString = <div></div><div>...Lots and lots of content...</div>

在研究了这个问题后,我发现了这个 jQuery 错误请求,它为我指明了正确的方向。jQuery 票 #11456

看来,为了 IE 兼容性,JavaScript RegExp 用于解析正在加载的内容。当内容以标签开头时,它会尝试找到结束标签(或类似的东西)。如果数据量很大,则进行此解析可能需要相当长的时间。我通过在开头放一个空来解决我的问题。

于 2013-07-26T18:46:46.483 回答
0

更新 JQuery 可能会有所帮助。

应该为 JQuery >= 1.12.0 / 2.2.0 解决该问题

于 2016-07-08T13:15:08.787 回答