我可能失去了一些东西在这里真的很明显在更新......页面元素并不明显负载
我展示页面加载过程中与进度条的对话框。对话框和进度条都是jQueryUI小部件。有几个阶段的加载 - 页面加载jQuery $ .get()请求来加载资源,然后在$(document).ajaxStop()事件中,处理这些资源。在整个过程中,我正在更新进度栏和一些状态文本。
问题是,只要ajaxStop事件触发,更新就会停止。该代码在资源加载期间很好地工作,但然后冻结,并且在处理期间没有看到任何更新。如果我在Chrome中的post-ajaxStop更新中添加断点并逐句通过代码,则屏幕会正确更新,以便我知道代码正常工作。
任何人都可以解释为什么一切都在我的AJAX加载阶段很好地更新,但然后停止在ajaxStop事件?事后有没有简单的方法让更新继续?
谢谢!
你可能会发布一个链接,以便它可以被复制吗? – pimvdb 2011-02-28 11:53:36
不幸的是我无法发布链接。进一步的研究表明,这是因为浏览器在Javascript实际执行时不会更新屏幕。我猜它可以在Ajax阶段工作,因为控件在请求完成时返回给浏览器。我需要一些方法在每次迭代时将控制权交还给浏览器 - 这可能是使用setTimeout或类似的方法,但是在我的代码中很难实现... – 2011-02-28 12:23:18