我有一个简单的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