【发布时间】:2012-08-10 10:07:11
【问题描述】:
我正在使用 JQuery ajax 调用向服务器发送同步调用,并希望显示当时的加载图像。
但加载图像在 Firefox 中可见,但在 IE 和 chrome 中不可见。当我调试时,我发现在 IE 中,当我们调用 java 脚本时,它停止显示浏览器中的更改,因为它暂停了 DOM,当调用完成时,它会显示所有更改。由于我在ajax调用时显示加载图像并在完成调用后将其删除,因此IE不显示任何图像。
但是当我使用警告框时,它会在 IE 中显示加载图像,因为它会停止线程,直到我们响应它。
有没有什么方法可以停止java脚本执行一毫秒,这样IE执行就会停止并显示加载图像。
我已经尝试过JQuery的ajaxSend、ajaxComplete、ajaxStart、ajaxStop和java脚本的定时器事件,但没有得到任何解决方案。
任何帮助都是宝贵的,在此先感谢。
【问题讨论】:
-
我过去在 IE 中解决了这个问题,方法是将 Ajax 调用放入
setTimeout()并延迟 1 毫秒。通常,IE 会在调用启动 Ajax 请求的超时回调之前更新页面。请注意,如果加载图像尚未在浏览器缓存中,则它可能无法在 Ajax 响应返回之前及时加载以显示。 -
我试过 setTimeout() 但它不起作用。
-
尽可能多地复制问题。它不必有任何逻辑。
标签: javascript ajax jquery