Discuz教程网

IE6显示iframe页面空白的解决办法

[复制链接]
版主推荐
authicon 诸葛晓明 发表于 2011-3-26 22:12:58 | 显示全部楼层 |阅读模式
本帖最后由 诸葛晓明 于 2011-3-26 22:17 编辑

问题:一个页面 page_a.html 中包含一个 iframe,它的 src 属性指向 page_b.html,
在IE7, 8 & Firefox 中均能正常显示,但是在 IE6 下面 iframe 显示空白(假如在 iframe 区域右键刷新,则能显示 page_b.html 页面内容),而使用 IE6 单独打开 page_b.html 则显示正常。甚是奇怪。
解决:
不使用 a 标签来触发 onclick 事件,使用 div 来替代。

这是一种办法,可没找到原因。

解决方案总结:

1. 不使用 a 标签来触发onclick事件
2. a 标签的 href ="###" 而不使用 href="javascript://" 和 href="javascript:void(0)"
3. 在 click 事件的处理函数中添加 return 语句【强烈推荐
  1. onclick="work(); return false;"   
复制代码



简单的讲就是你在a的onclick中事件处理函数中没有返回false,来阻止浏览器转到href所指向的地址,而造成的 页面加载其他页面或者 ajax请求 被abort(忽略)掉而引起的.
如下图:

更直观点的话,可以试试下面的代码就明白了.
<a href="http://xqin.cn">Open Invisible Iframe (Only for MSIE 6)</a>
在执行完a的onclick事件后,事件处理函数没有任何返回值(undefined),浏览器会自己去请求a的href所指定的页面去,
而如果有返回false, 则会阻止浏览器转到 href 所指定的地址,浏览器也就不会 abort 掉页面追加的iframe的页面的加载请求.
因为你允许a转向了(在onclick中没有返回false),所以浏览器就转向了,当然这个页面所要加载的其他页面都会被浏览器abort(忽略)掉.








上一篇:&lt;input text/&gt; 禁止用户输入
下一篇:js实现iframe的自动刷新
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 18:26

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表