iframe是可以做的事情非常多,比如通过iframe实现跨域,使用iframe解决IE6下select遮挡不住的问题,通过iframe解决Ajax的前进后退问题,再比如通过iframe实现异步上传。在很早我就写过一篇文章说明了Iframe在IE、firefox下的一些DOM操作。今天结合最近项目中遇见的iframe问题,再来谈谈iframe的一些常见问题解决方案。
IE下iframe背景透明问题
在firefox下,iframe背景默认的是透明的,在IE下默认不是透明的,我们可以使用allowTransparency='true'
来设置IE下的iframe为透明,另外我们使用scrolling ='no' `
frameborder=’0’`分别来实现iframe页面没有滚动条,边框宽度。
IE6下iframe不显示的问题
不得不说IE6是个操蛋的浏览器,尤其是在中国!iframe有的时候在IE6中会出现不显示的问题,主要有以下几种原因,请一一排查:
- 可能你的iframe没有设置宽高,例如在table不居中,计算不出来td的高度,会导致这种问题
- 尝试使用下面的代码来重新载入IE6下的iframe页面:
`
javascript
setTimeout(function(){
document.frames[‘fuckIE6’].location.reload();
},0)`
- 传闻iframe标签中不要把src紧跟在iframe之后,也就是
<iframe src='js8.in' name='fuckIE6'></iframe>
是错误的,不过我没有碰见过类似的问题,为了保险起见,还是不要写成上面的样式为妙。