参考: http://blog.csdn.net/Alex 8046/article/details/51456098
一.父窗口操作iframe的dom
在js操作iframe的dom中可以使用contentWindow属性。
contentWindow属性是指定frame或iframe所在的window对象,在IE中可以省略iframe或frame的contentWindow属性,但在Firefox中为iframe of
还有相关的内容文档属性。 此属性指向指定frame或iframe所在的文档对象,但可悲的是,ie6-ie7不支持此属性。
ie6和ie7还可以使用document.frames[“iframe Name”]或document.frames[“iframe ID”]来获取与contentWindow等效的属性。 firefox和chrome不支持这些document.frames[“iframe Name”]或document.frames[“iframe ID”],但window.frames [
因为知道文档对象是window对象的子对象,所以从document.getelementbyid (" iframe id " ).contentWindow.document访问iffocument 这相当于contentWindow.document对象
二. iframe中的js操作父窗口的dom
要使iframe的js与父窗口的dom进行交互,需要了解一些对象。
parent是父窗口,parent==self==top是当窗口是顶级窗口时,
top是顶级父窗口(在某些窗口中,frameset或iframe有多层),self是与当前窗口等效的window )。
opener是在open方法中打开当前窗口的窗口;
这样,iframe中的js操作父窗口的dom可以从以下parent,top对象中检索父窗口的窗口对象:
parent.document.getelementbyid (" domid " parent,top )也可以调用父窗口的js方法。 例如,如果getiframedom(iid )是父窗口的方法,则iframe可以使用parent.getiframedom (" iframe " )调用父窗口中的getiframedom
总结:
iframe在现在的WEB开发中已经很少使用了,但iframe还有很多值得使用的地方。 例如,使用iframe解决3358www.Sina.com/.iframe,iframe的适应性强,使用iframe解决域间的问题,关于iframe的加载问题有很多需要学习的东西
跨域问题
contentWindow与各浏览器兼容,可以获取子窗口的window对象。
contentDocument Firefox支持,ie8的ie支持。 可以检索子窗口的document对象。