2013-07-26 36 views
0

當使用jQuery將HTML加載到元素中時,我看到IE中的性能很差。 Chrome沒有顯示任何性能問題。更改IE瀏覽器模式似乎沒有提高性能。爲什麼RegExp.test在IE中消耗大量時間?

在IE中運行探查器時,我發現大部分時間都用在RegExp.test函數中。

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

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

  • jQuery的版本:1.9.1
  • IE版本:9
+0

IE <10一直被稱爲用於慢的Javascript引擎。我沒有證據可以證明'RegExp.test'雖然是「慢」... –

+0

我通過在內容HTML的開頭放置一組div來解決我的問題。發佈問題以防其他人遇到此問題。 –

+0

隨時發佈一個答案,解釋你如何解決你的問題!它會幫助其他人知道問題已經解決。 –

回答

2

當加載大量的內容,不要明星t帶有開始標籤並以結束標籤結束。

更改的內容: var htmlString = <div></div><div>...Lots and lots of content...</div>

研究這個問題後,我發現,我指出了正確的方向這個jQuery的錯誤請求。 jQuery Ticket#11456

看來,爲了與IE兼容,JavaScript RegExp用於解析正在加載的內容。當內容以標籤開始時,它會嘗試找到結束標籤(或類似的東西)。如果數據量很大,則可能需要很長時間才能完成此分析。我在開始的時候把空置在空中解決了我的問題。

+0

什麼是「空」? – Toskan

相關問題