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

转载于:https://www.cnblogs.com/itsharehome/p/6582339.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值