比如我们有一个页面A,然后页面B和C是其子页面,在页面A中打开B页面,然后咋B中用parent.layer.open,打开C页面,这样B和C就是A页面下的同级(兄弟)页面(也可以是在A中直接打开B和C)。 其实就是在打开的时候设置id,这个id会是layeriframe外面一层div的id,获得它自然能够获得其中的iframe A中打开B layer.open({ id:"layer-iframe-B", //此处与添加layer的id一样,由于两页面不会同时打开,所以暂时不会有问题 type: 2, title:"页面B", area: ['650px', '600px'], content:'B.html', }); 在B里,在A页面中打开C parent.layer.open({ id:"layer-iframe-C", type: 2, title:"页面B", area: ['650px', '600px'], content:'C.html', });
然后这样C调用B中的方法
var frame=window.parent.document.getElementById("layer-B").getElementsByTagName('iframe')[0];
frame.contentWindow.method();
这里可能还有其它的方法。如果有更好的办法希望大佬指教一下,哈哈
其实关于iframe之间的交互调用,一个是要理清页面的层级关系,然后找到通过某种方式,比如id或者序号等方式,基本上就能得到那个页面对象,然后进行操作