5

我有一個JS沉重的應用程序,它在IE中運行速度很慢。我即將花費大約一週的時間來優化IE,並且我想要嘗試一些方向。如何針對IE優化?

我發現這個線程引用Drip,這似乎是有用的:

IE and Memory accumulation in Javascript

我正在尋找類似的提示,「使用for循環,而不是$。每個」以及建築的最佳實踐,我可能沒有使用。

庫我使用的是:

事情我已經在做:

通過使用Array.join()對字符串連接

任何建議循環,而不是$。每

  • 緩存的jQuery上下文的公共參考的DOM元素
  • 建設HTML
    • 謝謝!

  • +1

    *「使用Array.join()與字符串連接構建HTML」*幾乎所有我見過的JavaScript實現中的一個好主意。 – 2010-11-22 22:28:05

    +1

    哪個版本的IE瀏覽器速度慢? v8中的javascript執行速度遠遠快於v7。版本8仍然比FFox慢。有一個明確的目標,你想實現什麼目標,因爲在你用IE瀏覽器打牆之前可能只有這麼多,如果它仍然太慢,那麼你將不得不尋求優化其他方式。 – slugster 2010-11-22 22:30:38

    +0

    在IE7和IE8中都很慢(我忽略了IE6)。顯然,IE8更好。我還能以其他方式進行優化?我認爲這是JavaScript使事情變得緩慢,不幸的是,該應用程序需要大量的JS。我很好奇谷歌如何獲得他們的JS應用程序以及他們在IE中的運行。 – marclar 2010-11-22 22:36:20

    回答

    5

    不要盲目地去通過您的代碼做瑣碎的改進,如改變$.each()循環來for循環;這真的毫無意義,有一天你會後悔的。 使用探查器是因爲這是一個非常好的選擇,大部分問題源於極少數意外的壞代碼。

    像這樣的情況下,dynaTrace ajax edition是非常寶貴的。

    2

    如果是IE6/7和「單頁」應用程序,然後儘量減少dom操作,即。而是做一個大的替代,而不是循環中的數百個小變化。