2011-12-09 34 views
0

我正在創建一個網站,我們需要使用大量的腳本工作。但是由於大量的數據加載,因爲我們正在加載youtube的列表,由於腳本錯誤無響應,瀏覽器掛起。無響應腳本錯誤jquery

正在使用AJAX加載數據。

任何人可以建議如何解決這個問題?

您的建議將不勝感激。

在此先感謝

Ĵ

+0

請問您能帶來失敗的代碼嗎? – Alfabravo

+0

我想我們需要更多的信息來提供真正有用的答案。你能發佈一個使AJAX調用的代碼的例子嗎?至少,你能告訴我們這個調用是同步的還是異步的?您創建/添加到頁面的元素數量。瀏覽器使用多少內存? – dgvid

+0

@dgvid在我使用AJAX的情況下,顯然這個調用是異步的。關於代碼,大部分工作都是使用ajax完成的,因爲網站有一個沉重的GUI。所以我主要關心的是如何優化腳本以正確運行。 –

回答

2

可以更改dom.max_script_run_time和dom.max_chrome_script_run_time值,但它意味着該警告較少。

你可以做的最好的事情就是找到問題的根源。我認爲你使用的是Firefox,所以如果腳本運行速度太慢,只需點擊停止腳本按鈕並轉到錯誤控制檯。

More info are here.

+0

這是基於用戶的格式來更改Firefox中的max_script_run_time,但我在開發人員的角度提問。 –

1

不知道細節,我只能提供這些概括。也許一個或多個將有所幫助:

  • jQuery .ajax調用需要一個選項,使呼叫同步。結合一個沒有響應的服務器,會導致你描述的問題。所以,確保你沒有錯誤地設置這個選項。
  • 在某些瀏覽器上,至少FF,內存不足導致腳本錯誤無響應。 Chrome有一個很好的功能,您可以在其中打開一個新標籤頁,在地址欄中輸入「about:memory」,並快速瀏覽其他Chrome標籤頁/窗口正在使用的內存量。在這裏看到什麼離譜的?
  • 在FF和IE上,我看到一個無限循環導致無響應的腳本錯誤。使用分析器來檢測這種情況。
  • 一個探查器,就像內置於Firebug中的探查器一樣,可以幫助您確定問題發生的位置。知道這一點,你可以尋找機會將代碼分解成更小的操作。 例如,如果你正在處理大量的數據,也許你可以做一個遞歸調用setTimeout處理程序來一次處理數據塊。