我的问题:
A 页面 包含iframeB页面,从iframe B页面使用parent.layer.open 打开一个iframe弹层C页面,我知道这时弹层是在A页面打开的,现在我想在layer打开的iframeC页面中调用B页面的方法该如何做?
官网上使用layer.open打开页面,调用子页面的方法是这样的
layer.open({
type: 2,
content: ‘test/iframe.html’,
btn: [“按钮1”, “按钮2”],
btn1: function(layero, index){
var iframeWin = window[layero.find(‘iframe’)[0][‘name’]]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.test.method1();
},
btn2: function(layero, index){
var iframeWin = window[layero.find(‘iframe’)[0][‘name’]]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.test.method2();
},
}
});
我使用parent.layer.open()打开子页面
var layerIndex=parent.layer.open({
type: 2,
content: ‘test/iframe.html’,
btn: [“按钮1”, “按钮2”],
btn1: function(layero, index){
var iframeWin = parent.window[‘layui-layer-iframe’ + layerIndex]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.test.method1();
},
btn2: function(layero, index){
var iframeWin = window[layero.find(‘iframe’)[0][‘name’]]; //得到iframe页的窗口对象,执行iframe页的方法:iframeWin.test.method2();
},
}
});
子页面中这样写
var test = {
method1: function (index) {
console.log(“方法一的内容”)
},
method2: function (index) {
console.log(“方法二的内容”)
}
}
好记性不如烂笔头,这里记录一下。亲测有用