文档章节

IE6 动态创建 iframe 无法显示的 bug,万恶的IE6

深圳大道
 深圳大道
发布于 2016/12/29 15:37
字数 280
阅读 3
收藏 0

情况一,触发源是 a 标签,带href 属性 (不正常)
情况二,触发源是 a 标签,但没有 href 属性,利用onclick事件(正常显示)
情况三,触发源是 button 标签,利用onclick事件(正常显示)

document.getElementById('c_btn').onclick = function () {
	document.getElementById('c').innerHTML = '<iframe src="http://www.mangguo.org/" width="500" height="100"></iframe>';
}

这三种情况下除了第一种 IE6 无法成功加载 iframe,导致 iframe 区块显示空白外,其余情况均正常。也就是说,问题的根源在于点击 a 标签触发加载行为。并不在于使用 innerHTML 方法。通过以下例子(标签 a 触发同时使用 createElement 创建节点)可以验证这一点的正确:

document.getElementById('d_btn').onclick = function () {
	var el = document.createElement('iframe');
		el.width = '500';
		el.height = '100';
		el.src = 'http://www.mangguo.org/';
	document.getElementById('d').appendChild(el);
}

结论:通过 a 标签触发加载 iframe 页面的行为会导致 IE6 下 iframe 页面空白。
解决方案:创建 DOM 后,再对该 iframe 的 src 进行一次重置:

iframeEl.src = iframeEl.src;

或者干脆就不要用 a 标签了,改用span等标签,问题解决

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/7914517

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
jquery 判断 IE6 浏览器 javascript

jquery博客依然整3D地图,火狐 谷歌 IE 7 8 9搞定了,依然剩下,蛋疼的IE6。 为了确保快速上线,不得不选择css hack 因为有些div宽度是根据屏幕宽度js判断了。 傻眼了,连css hack都不好整。...

天外飘雪
2012/09/14
0
0
IE6、IE7、IE8的CSS、JS兼容

Internet Explorer 6中查看使用 Microsoft JScript 的网页,可能会遇到web浏览器速度较慢的性能问题。原因是如果js脚本同时创建大量变量,jscript引擎执行垃圾收集算法时会监视脚本中变量分配...

ibm_hoojo
2011/01/12
0
0
IE iframe cookie问题(p3p)

前段时间碰到一个问题,就是在IE下,使用iFrame嵌入页面时,该页面的会话级别的cookie无法写入,导致服务端始终无法获取JSESSIONID,每次都是产生一个新的,使得Session无法使用。 只需要设置...

疯狂的艺术家
2012/03/14
0
0
关于日历控件My97DatePicker 在IE6下出现“无法打开站点,已终止操作”

今天项目测试,发现在IE6下一个页面打开失败,提示:“无法打开站点,已终止操作”,测试了下发现是日历控件My97DatePicker 导致的错误,于是看了下My97DatePicker 的相关介绍,无果;最后无...

山海经
2014/10/27
0
0
IE6 、 IE7 、 IE8 在 CSS 和 JS 方面的区别 :

1、IE8中的css中关于width或是height中如果使用像素形式作为参数时,参数必须是带“px”的,而且此参数必须是大于0的,而在IE6和IE7中是支持不带“px”参数的,而且参数是可以为一个负数。 ...

小样
2012/01/12
0
1

没有更多内容

加载失败,请刷新页面

加载更多

性能优化

js相关 根据js时间线,将js放在最下面加载,先加载DOM,再加载js 懒执行,就是将某些逻辑延迟到使用时在执行。该技术可用于首屏优化,对于某些耗时逻辑并不需要在首屏就使用的,就可以使用懒...

祖达
12分钟前
0
0
websocket通信failed to execute 'send'问题的解决

在建立web socket通信后,发送数据时,出现下图所示现象: 问题代码演示 function TestSockets() { //实例化一个WebSocket对象 var socket = new WebSocket("ws://127.0.0.1:8000/w...

城市之雾
18分钟前
0
0
PHPStorm 如何设置 yaf 代码提示?

下载 php-yaf-doc git clone https://github.com/elad-yosifon/php-yaf-doc.git PHPStorm 如下设置 使用

whoru
19分钟前
0
0
typeorm drop foreign key

1. 问题描述 项目代码中使用typeorm进行mysql的数据操作, 昨天突然部署测试环境发现测试环境数据库的外键都为空了, 导致涉及的整个系统不可用. 2. 问题探究 尝试复现 mysqldump 线上数据, 然...

jimmywa
20分钟前
2
0
好程序员web前端开发测验之css部分

好程序员web前端开发测验之css部分Front End Web Development Quiz CSS 部分问题与解答 Q: CSS 属性是否区分大小写? <p><font size="3">  ul {</font></p> <p><font size="3">  MaRGin:......

好程序员IT
26分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部