Layer:如何调用layer.open打开的的iframe窗口中的JS?


layer.open({
type: 2,
content: 'test/iframe.html',
success: function(layero, index){
  var body = layer.getChildFrame('body', index);
  var iframeWin = window[layero.find('iframe')[0]['name']]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.method();
  console.log(body.html()) //得到iframe页的body内容
  body.find('input').val('Hi,我是从父页来的')
}
}); 

 

如上面的代码所示,也就是可以使用iframeWin.method(); 来执行父页面上的JS方法,
iframeWin 是通过window[layero.find('iframe')[0]['name']]来获取,其中要用到layero这个变量,它是通过success这个function传入,一直到这里都没有问题
但是问题来了,如果我想在页面的其它地方来用执行父页面或其它通过layer.open方法找开的子页面,又该怎么做呢?(毕竟其它地方至少是找不到layero这个变量的)

解决办法:parent.window['layui-layer-iframe' + index].window


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM