一个页面 a.html 中的弹出层用iframe引用b.html,其他浏览器均正常,ie6下弹出窗口为空白,开始的时候以为是iframe的问题,测试后发现是正常的,后来在网上看到了这片文章http://bbs.blueidea.com/thread-3011637-1-1.html,终于找到了真正的原因。
引用该帖四楼的话:
a的onclick中事件处理函数中没有返回false,来阻止浏览器转到href所指向的地址,而造成的 页面加载其他页面或者 ajax请求 被abort(忽略)掉而引起的.
在执行完a的onclick事件后,事件处理函数没有任何返回值(undefined),浏览器会自己去请求a的href所指定的页面去,
而如果有返回false, 则会阻止浏览器转到 href 所指定的地址,浏览器也就不会 abort 掉页面追加的iframe的页面的加载请求.
因为你允许a转向了(在onclick中没有返回false),所以浏览器就转向了,当然这个页面所要加载的其他页面都会被浏览器abort(忽略)掉.
所以只要在onclick事件中retrun false; 就大功告成了;
<script>
$(document).ready(function(){
$("#test").click(function(){
dialog("test","iframe:test.html","639px","500px","iframe");
return false;
});
});
</script>
<a href="javascript:void(0);" id="test"></a>