【web开发】教您去掉ie网页加载进度条

相信很多同仁做的系统后到都是用frameset或iframe来加载不同页面的,不可不知道大家有没有注意到,当frame框架中的页面已经加载完成后,可是ie浏览器的状态栏还会一直显示一个正在加载的状态。这样虽没有对功能有什么影响,可是体验总不怎么好,那如何解决这个问题了,网上有很多文章都有说过在被目标页加载后设置window.status = "xx"这类的,可是我发现这个方法这样的情形下并不怎么好使。

<div>
	<ul>
		<li><a href="1.html" target="page"></a></li>
		<li><a href="2.html" target="page"></a></li>
		<li><a href="3.html" target="page"></a></li>
	</ul>
	<div><iframe src="" id="page" name="page" frameborder="0"></iframe></div>
</div>
然后在1.html页面中加入

window.onload = function(){
	window.status = "完成";
}
结果发现1.html页面加载完成后浏览器下面进度条还一直在那里。

通过长时间反复的实践最后终于找到了解决问题的一种方法:不用href链接的方式来打开页面。改为通过Javascript来改变iframe方式来实现。

<script type="text/javascript">
	function redirect(src){
		document.getElementById("page").src = src;
	}
</script>
<div>
	<ul>
		<li><a href="javascript:redirect('1.html')" target="page"></a></li>
		<li><a href="redirect('2.html')" target="page"></a></li>
		<li><a href="redirect('3.html')" target="page"></a></li>
	</ul>
	<div><iframe src="" id="page" name="page" frameborder="0"></iframe></div>
</div>
到这一步以为问题解决了,不想浏览器还报起脚本错误来了,提示redirect未定义,最后搞明白了,原来是target属性忘记去掉了。

至此,问题完整解决了。因在公司不方便,所以就贴样例了。

posted @ 2010-12-08 18:53  周尚武  阅读(1557)  评论(0编辑  收藏  举报