现在的位置: 首页 > 综合 > 正文

iframe在IE下出现进度条不完整的解决方法

2018年04月07日 ⁄ 综合 ⁄ 共 721字 ⁄ 字号 评论关闭

我们在使用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下,只能识别iframename属性
form.target=[iframe的id或name];
form.submit();
//用完可以删除form
...

2 将iframe的src属性设置再设置一遍。(推荐)

【注意】:有人可能会问再设置一遍src难道不会加载2次吗?实际上是不会的,iframe的属性设置的时间是非常短的,而iframe内容的加载又是异步执行的,所以第二遍的设置只是完成的IE的bug的修复,而不会出现再次加载的情况。

javascript代码

document.getElementById("iframeElem").src=[iframesrc];
document.
getElementById("iframeElem").src=[iframesrc];

 

这样一来,无论怎么点击,都会实现iframe的完全加载。


抱歉!评论已关闭.