我们在使用iframe加载页面的时候,一般是通过给iframe的src赋值来加载页面的,采用这种方式打开页面,正常情况下是不会有问题的,但是IE系列产品在使用这种方式加载iframe页面的时候,有一个bug存在,那就是进度条不能完全加载,而且在IE6下尤甚,
这种情况不是每次都会出现,而是存在一定的概率,当操作过于频繁或临界资源被抢夺时,便会产生。
解决方法有如下两种:
1采用submit方式提交到iframe,页面上构建一个form表单,将form表单的target设置成iframe的id或name即可。(这种方法不保证完全有效)
javascript代码
var form = document.createElement("form");
form.action=[需要打开的src];
//在firefox下,只能识别iframe的name属性
form.target=[iframe的id或name];
form.submit();
//用完可以删除form
...
2 将iframe的src属性设置再设置一遍。(推荐)
【注意】:有人可能会问再设置一遍src难道不会加载2次吗?实际上是不会的,iframe的属性设置的时间是非常短的,而iframe内容的加载又是异步执行的,所以第二遍的设置只是完成的IE的bug的修复,而不会出现再次加载的情况。
javascript代码
document.getElementById("iframeElem").src=[iframe的src];
document.getElementById("iframeElem").src=[iframe的src];
这样一来,无论怎么点击,都会实现iframe的完全加载。