我有一个独特的问题。有一个 Web 应用程序需要 5.57mbs 的加载。我想要一个加载栏或 Ajax Spinner 来进行动画处理,以便他们知道在大约 10-20 秒的加载时间内事情正在进展。大多数是图像,这里也有很多 JS。这里的问题是,Firefox 正确地线程化了所有内容,因此动画 gif 一直在旋转。动画。世界是幸福的。然而,IE 会加载微调器的前几帧,然后口吃提前停止,并且在站点完全加载之前它不会做任何事情。它还将浏览器锁定在未缓存的负载上。然后它会在加载完成后显示页面,但是无论是缓存还是未缓存,微调器都会在第一帧期间停止。(缓存的加载时间仅为~2-3 秒)同样,它不会发生在 Firefox、Safari 或除 IE 之外的现代浏览器中。有没有办法很好地加载 IE?研究还没有想出任何东西。
加载程序代码(按请求):请注意,由于代码库很大,很难解释,但这似乎抓住了困境。
<script type="text/javascript">
function show_main_gui() {
dojo.byId("splashloader").style.visibility = "hidden";
}
function init(){
show_main_gui();
}
dojo.addOnLoad(init);
</script>
<style type="text/css">
#splashloader {
position:absolute;
z-index:999;
width:800px;
visibility:visible;
height:600px;
background:#fff;
text-align:center;
color:#1E4FD9;
}
</style>
<table id="splashloader"><tr><td><img src="images/interface/splashloader.gif"><span class="loader"> Loading...</span></td></tr></table>
一个表格......因为在所有浏览器中更容易垂直对齐。
IE 8 和 7 仍然坚持加载 gif 动画冻结。如果我将微调器更改为在加载后显示,动画就会动画。我尝试取出除此之外的所有 JavaScript 调用,并加载到缓存中,但在 1-2 秒加载期间,它仍然只显示 IE 中的前几帧。