子窗口访问父页面iframe中的iframe,top打开的子窗口访问父页面中的iframe中的iframe

Posted 蕃薯耀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了子窗口访问父页面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页面,则需要一层一层进去,方法如下:

 

Js代码  收藏代码
  1. //获取第一层iframe对象  
  2. var first_iframe = $(window.parent.document).find("#firstIframeId");  
  3.   
  4. //获取第二层iframe(第一层iframe中的又一个iframe)  
  5. var second_iframe = $(first_iframe).contents().find("#secondIframeId");  
  6.   
  7. //在第二层iframe中,调用iframe中的方法,方法可带参数param或者不带参数。  
  8. //$(second_iframe)[0]后面为什么会有一个[0]呢,我暂时不清楚,但这样是对的。去掉[0]会提示出错。  
  9. //callSecondIframeMethod为second_iframe页面中的方法名  
  10. $(second_iframe)[0].contentWindow.callSecondIframeMethod(param);  
  11. //在第二层iframe中,给iframe中的元素赋值。  
  12. $(second_iframe).contents().find("#secondIframeElementId").val(elementValue);  

 

 

================================

蕃薯耀 2018年2月5日

http://www.cnblogs.com/fanshuyao/

以上是关于子窗口访问父页面iframe中的iframe,top打开的子窗口访问父页面中的iframe中的iframe的主要内容,如果未能解决你的问题,请参考以下文章

在iframe中如何调用父窗体的方法?

jquery,iframe,如何在父窗口监听,子窗口发生改变时,父窗口获取子窗口的值

求助:js,如何关闭IFRAME的父窗口

iframe子页面js调用父页面中的控件报“拒绝访问”是啥原因,怎么解决?先声明不是跨域问题

子 iframe 中的事件到父窗口中的处理程序

iframe子页面样式怎么在父页面修改