jQuery是用於檢索通過get()調用的搜索結果。渲染大量結果時沒有問題,但在渲染部分結果時,IE7在渲染前一直掛起5-30秒。
問題
的get()
調用jQuery的成功執行。數據上沒有eval()
或urlencode或解碼,因爲數據是html。大面積的內容通過
$('#content').html(data);
替換爲數據中#content
存在包含內容的夫婦隱藏的div被移動到另一個areay外#content
。 (這些都是通過AJAX檢索搜索結果,並且麪包屑需要在另一部分將被更新)
$('#breadcrumb').html($('#content #breadcrumbcontainer').html());
上述工作相當不錯,在Firefox和其他瀏覽器。
在沒有腳本調試器的情況下使用IE 7.0.6001.18000的Vista計算機上進行測試在所有情況下都很快且正常。
在帶有MS腳本調試程序的7.0.5730.11的XP上進行測試的速度很慢。我只能猜測在這一點 - 它看起來像它有事情做與
- 腳本調試安裝
- 無效XHTML嚴格
- 造成一些模糊的時間 - 我見過這裏提出的修正使用
setTimeout()
- 也許jquery隊列是需要的?
- 上述
更多代碼的組合可以提供,但它確實混雜的表現實在是太糟糕(30秒渲染),當它在IE71秒沒有腳本調試。
任何關於原因的建議顯然將被讚賞。
- 更新 -
的tskmanager現在顯示IEXPLORER.EXE CPU使用率,同時它空轉。 只是掛起,就像暫停。
- 更新兩個 -
已證實,IE7沒有微軟的腳本調試器,IE7慢
範圍:4秒至2:19 平均:33秒 位數: 18秒 標準偏差:37秒
您是否使用超時等待上一個任務完成?在這種情況下,肯定使用jQuery的隊列,儘管我不確定這與您遇到的大規模放緩有什麼關係。 – 2009-07-09 04:07:09
網絡的非CPU延遲問題,但你永遠不知道。嘗試一塊一塊地去除,直到你找到孤立的罪魁禍首。現在這是一個猜測遊戲。 – 2009-07-09 04:14:21