window.frames[]在Firefox下无法兼容的解决方式

html代码段:

1 <iframe id="fr" src="ProjectTree.aspx?IsFree=true&f=yes&IsCheckProjectAuthority=false" frameborder="0" scrolling="no" style="height:100%; width: 100%;"></iframe>

 

JavaScript代码段:

1 window.frames["fr"].XX方法(); //XX方法在此iframe内容中已经定义;这段代码在IE下能正常调用,但在Firefox下报错,因为Firefox无法通过id属性值获取到此iframe的window对象,Firefox是通过name属性值获取它的

 

解决方式,修改html代码段,如下:

1 <iframe id="fr" name="fr" src="ProjectTree.aspx?IsFree=true&f=yes&IsCheckProjectAuthority=false" frameborder="0" scrolling="no" style="height:100%; width: 100%;"></iframe>

区别在于:新增name属性,它的属性值跟id属性值保持一致,在Firefox中会读取name属性值去获取到对应名称的iframe的window对象。

如果要获取iframe的element对象,比如要设置它的src属性值,这里建议用document.getElementById方法获取。

 

posted @ 2015-06-03 17:19  KenmuHuang  阅读(1547)  评论(2编辑  收藏  举报
如果您看完本篇博文,觉得对您有所收获,请点击右下角的 [推荐]
如果您想转载,请注明出处(原创内容,请尊重个人劳动成果)
如果您有任何意见或建议,欢迎留言
感谢您的阅读,敬请关注我的后续博客文章