iframe父子窗口间JS方法调用
父窗口调用iframe子窗口方法
- <iframenameiframename="myFrame"src="child.html">
- </iframe>
- myFrame.window.functionName();
iframe子窗口调用父窗口方法
- parent.functionName();
父页面调用子页面的方法可通过:FrameName.window.childMethod();(这种方式兼容各种浏览器)
子页面调用父页面的方法:parent.window.parentMethod();
DOM元素访问根据FrameName.window得到了子窗口对象之后,再访问其中的DOM元素就跟访问同一页面中的DOM元素没区别了都可以通过document.getElementByIdx_x_x(),document.getElementsByName()[index]。
如:parent.window.document.getElementsByName("myFrame")[0],
myFrame.window.document.getElementByIdx_x_x("button")其中的window都是可以省略的。
注意事项要确保在Iframe加载完成后再进行操作,如果Iframe还未加载完成就开始调用里面的方法或变量,无疑会产生错误。判断Iframe是否加载完毕有两种方法:
1.在Iframe上用onload事件;
2.用document.readyState=="complete"来判断