我有一個簡單的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. 我的腳本運行時間太長
- 2. 長時間運行的Python腳本
- 3. php長時間運行腳本
- 4. 長時間運行循環VBA腳本
- 5. 長時間運行PowerShell腳本凍結
- 6. 腳本運行了多長時間?
- 7. Python腳本運行時間更長
- 8. 廚師 - 在後臺運行長時間運行的腳本
- 9. 長時間腳本腳本運行緩慢?
- 10. Windows命令行中長時間運行的腳本
- 11. 在nodejs中執行長時間運行的powershell腳本
- 12. 與長時間運行的python腳本進行交互
- 13. Django:長時間運行腳本的請求超時
- 14. 谷歌瀏覽器屏蔽時間
- 15. 對於長時間運行的python腳本的失效保護
- 16. 長時間運行的腳本php的Set_time_limit
- 17. 長時間運行的PHP腳本的內存考慮因素
- 18. PHP長時間運行腳本,jQuery避免超時?
- 19. 腳本的時間太長
- 20. 被反病毒屏蔽的長時間保留的AJAX連接
- 21. 在長時間運行的PHP腳本中獲取錯誤
- 22. 使用長時間運行的數據庫遷移腳本
- 23. 顯示長時間運行PHP腳本的進度
- 24. 長時間運行的php/fastcgi腳本掛在IIS 7.5上
- 25. 從腳本中停止長時間運行的存儲過程
- 26. 長時間運行的php腳本阻止其他php請求
- 27. 爆裂輸出長時間運行的腳本
- 28. PHP長時間運行的腳本替代?
- 29. 需要很長時間才能運行的python腳本
- 30. 長時間運行的php腳本作爲cron失敗
這是一個好主意。我一定會試一試 – 2011-03-17 05:45:00