浏览器继续“加载” ajax请求完成后
您已经看到过这一点 - 在 ajax 密集的页面上,例如 meebo.com,浏览器永远不会停止“旋转”,它永远不会表明它已完成加载。 造成这种情况的原因是什么?是否有任何方法可以一致地告诉浏览器(无论它是什么浏览器)加载已完成?
编辑:抱歉,我应该指定我是这里的开发人员。 我在其他网站上注意到了这一点,现在我的一个网站也使用了 ajax。 我想确保当 ajax 调用返回时,页面停止“加载”。
You've seen this - on an ajax-heavy page, like meebo.com, the browser never stops 'spinning', it never indicates that it's finished loading. What causes this, and is there any way to consistently tell the browser (whatever browser it may be), that loading has completed?
EDIT: Sorry, I should've specified that I'm a developer here. I've noticed this on other sites, and now one of mine as well that's using ajax. I want to make sure that when an ajax call comes back, the page stops 'loading'.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
如果您使用 javascript 使用 document.open() 将内容写入页面,则旋转器将旋转,直到您实际调用 document.close()。
If you with javascript uses document.open() to write stuff to your page, the spinner will spin until you actually invoke document.close().
我在另一个问题中回答了这个问题:
在加载彗星/服务器推送 iframe 时停止浏览器“末日之痛”
有一些特定于浏览器的技术可以使旋转停止,或者根本不开始旋转,但仍然通过服务器推送加载数据。
I answered this question in another question:
Stop the browser "throbber of doom" while loading comet/server push iframe
There are browser-specific techniques to make the spinning stop, or not to begin spinning at all and still load data with a server-push.
AJAX 调用本身没有解决方案,但我确实找到了上传到 iframe 的解决方案,这是用于上传的伪 AJAX 技术。 如果您从 DOM 中删除 iframe 然后将其放回去,浏览器将停止上传。 巧妙的小伎俩。
No solution for the AJAX call per se, but I did find a solution for uploads to iframes, which is the pseudoAJAX technique for uploads. If you remove the iframe from the DOM and then put it back, the browser will stop the upload. Neat little trick.
当将行为动态附加到页面或请求大量对象时,这也是 IE 上的一个众所周知的错误。
Microsoft 知识库文章 - 行为
Microsoft 知识库文章 - 请求
This is also a well-known bug on IE when attaching behaviors dynamically to a page or requesting a lot of objects.
Microsoft KB Article - behaviors
Microsoft KB Article - requests