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