2010-04-21 133 views
1

我已經構建了基於superfish的頂級菜單,但菜單中顯示的項目數量很大。頂部菜單上還有很多jQuery。現在到了這個問題,每次我加載任何有菜單的頁面時,瀏覽器(ie7)都覺得它看起來像是在加載頁面時鎖定它自己約1-2秒。我確定頂層菜單是問題所在,我想提高頁面的性能(除了刪除菜單和刪除菜單項) 我使用了firebug來查看哪些調用佔用了大部分時間,我的電話是標準的jquery或superfish。 頂層菜單是一個ascx控件。 他們有沒有什麼好的方法讓頁面首先加載,然後菜單或任何其他商品的想法來提高性能?Javascript性能問題

+0

頁面初始化應該沒有理由需要1-2秒。 整個代碼都必須有一些低效率。 @Robert哈維的想法是一個好 – 2010-04-21 19:55:38

+0

有可能是對的多,多到DOM元素運行太多的js代碼。我試圖在做某些jQuery時「緩存」dom元素。但還不夠,現在以提高性能 – Daniel 2010-04-22 05:48:53

回答

1

您是否嘗試過所有的腳本代碼(JavaScript中,jQuery的)移動到頁面的底部,就在</html>標記之前?

+0

我搬到了所有相關的頂部菜單之前下來的JS,它似乎didnt幫助可言,它必須是最終的身體和結束之間html標籤? – Daniel 2010-04-22 05:44:40

+0

在''標籤沒有問題之前,但您需要移動*全部*標籤,而不僅僅是與菜單相關的東西。這個想法是讓網頁在Javascript/jQuery執行之前(至少部分)呈現。 – 2010-04-22 14:37:27

0

你有沒有想過加載菜單隻有一次?不久前,我們遇到了同樣的問題,即每次頁面刷新時都重新加載菜單。

我們做什麼,我們儘量減少頁面刷新和力量我們的大部分網頁提交/通過$.ajax檢索數據。

我們只刷新頁面時,它是必要絕對

+0

因爲它現在需要很長時間來開發頂級菜單來加載一次:/但好主意,下次雖然 – Daniel 2010-04-22 05:47:18