我正在使用下面的代码结构进行演示,这是一个 jsp 页面。通常,网页完全加载需要3秒以上。
我已经注入了一个指示条(类似于cvi_busy),因此在页面完全加载之前会显示一些启用了javascript的栏。我使用iframe
内的div
进行此操作。在身体完全加载的那一刻,我将隐藏div
和iframe
。
我遇到的问题是指标栏没有始终如一地出现。当它加载时,有时指示器会出现,有时则不会出现。我使用的浏览器是IE。
<html>
<body>
<div id="loadImageBarDiv">
<iframe style="width:100%;height:100%;" frameborder="0" name="loadingFrame" src="jsp/Splash.html" id="loadIframe" allowTransparency="true"/>
</div>
//---- my presentation for the page over here.
</body>
<script language="javascript">
if(window.frames['loadingFrame']){
if(window.frames['loadingFrame'].xval){
window.frames['loadingFrame'].xval.remove();}
window.frames['loadingFrame'].width="0px";
window.frames['loadingFrame'].height="0px";
}
document.getElementById("loadImageBar").style.display="none";
</script>
</html>
答案 0 :(得分:0)
如果你使用jQuery,这应该很容易修复。只是做:
<script language="javascript">
$(function() {
if(window.frames['loadingFrame']){
if(window.frames['loadingFrame'].xval){
window.frames['loadingFrame'].xval.remove();}
window.frames['loadingFrame'].width="0px";
window.frames['loadingFrame'].height="0px";
}
document.getElementById("loadImageBar").style.display="none";
});
</script>
在页面的开始。 $(someFunction)是jQuery用于连接事件处理程序“onReady”的快捷方式,这听起来就是你想要的。