IE bug集锦

ie8 iframe 不显示

问题描述:

IE8的非兼容模式下(兼容模式是ie7,不存在),iframe会不显示;
可以通过Ctrl+A全选或者是调整窗口大小显示出来。
解决办法:

这是由于要显示的iframe里的body多了position为relative的属性,将其去掉即可。


IE中没有权限的错误

在窗口、对话框、框架(frameset,frame,iframe),甚至是 IE 的 popup 窗口之间(通过 IE 特有的 window.createPopup 方法创建),只要它们涉及到了相互读写,都要考虑 document.domain 问题。这仿佛是“一损俱损,一荣俱荣”的事情,一旦你在某个地方设置了 document.domain,你必须小心应对。因为,你不知道在哪个角落里,会出现“没有权限”的脚本错误。 


让窗口或框架在不同域页面之间跳转,是件很寻常的事情,所以跳转操作总是被允许的。只有试图读写(注意此处是读和写)页面内容时,才会受到 domain 限制。例如:window.location 可以用来设置地址间的跳转,但是不能用它来读取在不同域下的地址。因为,这会使一个页面知道浏览者去过哪些地方,而这会暴露浏览者的隐私。 


在不同域间的页面制约包括 


引用
window.location 可以设置,但不能读取。其它的 location 属性和方法被禁止访问; 
document.href 可以设置,但不能读取。其它的 document 属性和方法被禁止访问; 
<iframe> 的 src 可以设置,但不能读取; 

js加载时会在jquery中报Object未定义的错误?



原因:
页面和iframe页面中都引入了jquery 或者 是页面中包含iframe,并且在iframe没有完成加载前操作了iframe中的js。
解决办法:
第一步:页面头部加上:
<script type="text/javascript">
    if(typeof(Object)==="undefined"){
        window.location.reload();
    }
</script>
第二步:
将iframe的src去掉,等到页面加载完成后动态设置iframe的src;
原文地址:https://www.cnblogs.com/vvch/p/4027573.html