有一个项目需要用框架来完成,在编码中发现父框架调用子框架中内容的实现有兼容性问题,特此记录下来!
<iframe id="preview" name="preview" src="bill.php?page=preview" frameborder="0" width="100%"></iframe>
这个是我的框架,我准备操作框架中的DOM。所以我使用了,
container= preview.contentWindow.document.body;
结果却发现,在IE8上不行了,其它的版本我没有测试。
原因是:contentWindow的兼容问题,在IE中没有这个属性。
经调试,经不需要这个属性,直接使用
container= preview.document.body;
就可以了。 好神奇的问题,但是这样的写法是在其他的浏览器上不兼容了。
所以我最终的解决办法是:
container=preview.contentWindow?$(preview.contentWindow.document.body):$(preview.document.body);
请勿照抄代码,我当中使用了jq,所以请理解原来后使用,各位看客。
时间: 2024-10-07 02:16:48