我有一個簡單的html頁面,其中包含一個包含超過2000行的大表。我有jQuery代碼編寫的搜索和排序在該表中。搜索和排序需要相當長的時間(這是可以理解的)。我想要的是當腳本正在搜索或排序表時有一個屏幕攔截器。這種行爲可以在許多網站上的Ajax調用中觀察到,這可以通過實現jQuery的onAjaxBegin和onAjaxComplete事件來實現。有沒有這樣的方法可以用來放置長時間運行的腳本的屏幕截圖。如果不是,還有什麼選擇?任何建議高度讚賞
問候長時間運行腳本的屏蔽器
4
A
回答
2
我會建議分解它並迭代setTimeout。
例如,而不是:
function example1() {
for (var i = 0; i < 1000; i++) {
// SOME CODE
}
}
你可以寫:
function example2() {
var i = 0;
helper();
function helper() {
// SOME CODE
if (++i < 1000) {
setTimeout(helper, 0);
}
}
}
您不必在不同的回調每次迭代。您可以將1次函數調用中的1000次迭代轉換爲100次函數調用中每次函數調用的10次迭代,或者在您的情況下最適合的函數調用。這個想法是不會阻止用戶界面很長時間,以至於用戶會注意到。
如果可以的話,另一個想法是使用Web Workers,但在舊版本的瀏覽器上無法使用(如果您正在編寫瀏覽器擴展,或者您知道用戶將會使用等)。
如果按照您在問題中解釋的方式進行操作,那麼您在計算期間將使瀏覽器完全無響應,並且很可能會觸發「慢速腳本 - 您想要殺死它嗎?」一種警告。
0
jQuery blockUI將阻止元素或頁面,是非常可定製的。
相關問題
- 1. 長時間運行的Python腳本
- 2. 長時間運行PowerShell腳本凍結
- 3. php長時間運行腳本
- 4. 長時間腳本腳本運行緩慢?
- 5. 谷歌瀏覽器屏蔽時間
- 6. Windows命令行中長時間運行的腳本
- 7. Django:長時間運行腳本的請求超時
- 8. 長時間運行的腳本php的Set_time_limit
- 9. 長時間運行的PHP腳本的內存考慮因素
- 10. 被反病毒屏蔽的長時間保留的AJAX連接
- 11. 爆裂輸出長時間運行的腳本
- 12. PHP長時間運行的腳本替代?
- 13. 從腳本中停止長時間運行的存儲過程
- 14. 需要很長時間才能運行的python腳本
- 15. 使用長時間運行的數據庫遷移腳本
- 16. 在長時間運行的PHP腳本中獲取錯誤
- 17. 需要很長時間才能運行的python腳本
- 18. PHP:在服務器施加執行時間限制時對長時間運行的腳本進行編碼
- 19. 執行腳本需要多長時間?
- 20. 運行很長時間執行php腳本甚至瀏覽器關閉
- 21. 使用setTimeout繞過IE瀏覽器的長時間運行的腳本警告
- 22. 花費太長時間來運行python腳本
- 23. 防止長時間運行PHP腳本關閉
- 24. 如何「停止」和「恢復」長時間運行Python腳本?
- 25. 獲取python腳本的運行時間
- 26. mpirun運行時間太長
- 27. 長時間運行狀態
- 28. 取消長時間運行
- 29. SQL運行時間太長
- 30. 長時間運行合併
這是一個好主意。我一定會試一試 – 2011-03-17 05:45:00