子窗口访问父页面iframe中的iframe,top打开的子窗口访问父页面中的iframe中的iframe
子窗口访问父页面iframe中的iframe
子窗口访问最顶层页面中的iframe中的iframe
top打开的子窗口访问父页面中的iframe中的iframe
top打开的子窗口访问最顶层页面中的iframe中的iframe
================================
蕃薯耀 2018年2月5日
http://www.cnblogs.com/fanshuyao/
页面情况说明:
页面使用jquery eayui架构,主页是一个普通页面(main页面),然后打开一个tab标签页面(first_iframe页面),tab标签页面中有一个iframe页面(second_iframe页面)。
在second_iframe页面打开一个选择的子窗口(使用top.$(“#xxx_id”).window(“open”)打开一个iframe窗口),那么当在子窗口选择完数据后,如何将数据返回到原来的打开窗口中呢?
如果不使用top,则直接使用window.parent应该就可以调用父页面的方法。
由于使用的是top.$(“#xxx_id”)打开的,已经进入到最外层的页面窗口,需要回去原来的second_iframe页面,则需要一层一层进去,方法如下:
- //获取第一层iframe对象
- var first_iframe = $(window.parent.document).find(“#firstIframeId”);
- //获取第二层iframe(第一层iframe中的又一个iframe)
- var second_iframe = $(first_iframe).contents().find(“#secondIframeId”);
- //在第二层iframe中,调用弹出子窗口中的方法,方法可带参数param或者不带参数。
- //$(second_iframe)[0]后面为什么会有一个[0]呢,我暂时不清楚,但这样是对的。去掉[0]会提示出错。
- $(second_iframe)[0].contentWindow.callChildrenWindowMethod(param);
- //在第二层iframe中,给弹出子窗口中的元素赋值。
- $(second_iframe).contents().find(“#childrenWindowElementId”).val(elementValue);
================================
蕃薯耀 2018年2月5日
http://www.cnblogs.com/fanshuyao/