在我的网站上,我有一个iframe,其中包含自动执行javascript Chatt功能。 这个脚本有一些setIntervals,回调并使用PushStream与我的NodeJs服务器通信。
它适用于所有浏览器,但在IE10浏览器加载指示器永远不会停止旋转,脚本仍能正常工作,但如何让指示器停止?
IE10与其他所有不同之处有什么不同?
脚本是几百行,但这是文件。 http://westerlundh.se/cc.js
由于
答案 0 :(得分:0)
如果您有任何代码在页面准备好执行JS后立即运行很长时间,这会导致浏览器继续显示加载指示符。 Safari也曾经/曾经遭遇过这个问题。一个快速但有点难看的解决方案是将您的初始代码包围在setTimeout
中。例如
setTimeout(function(){
//The code to run when the page loads
},10);
这将迫使IE相信所有需要运行的代码都要运行。这种情况的常见原因(似乎是你的情况)可以是AJAX轮询。加载页面时启动第一个长轮询会导致加载图标在AJAX请求打开期间显示,然后再次开始另一个轮询只会延长加载图标显示的时间长度,因此看起来像页面是没装完。