//父页面
layer.open({
type: 1,
title:"添加用户",
content: '<iframe name="select" style="width: 1316px;height: 617px;" src="useradd.jsp" frameborder="0" class="layadmin-iframe"></iframe>',
area: ['1316px', '617px'], // 初始宽高
maxmin: true,
success: function(layero, index){
layer.full(index); // 最大化
}
});
//子页面
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
layui 官方文档中也是用的这样的方法关闭弹层。
但是我忽略了重要的一点,那就是弹层的类型。
官方文档的描述是这样说的:
//在 iframe 弹层页面中关闭自身
var index = parent.layer.getFrameIndex(window.name); // 先得到当前 iframe 层的索引
parent.layer.close(index); // 再执行关闭
说的是在 iframe 弹层页面中关闭自身。
layer.open 打开的弹出层有多种:
0
dialog 信息框(默认),同时只能存在一个层1
page 页面层,可同时存在多个层2
iframe 内联框架层,可同时存在多个层3
loading 加载层,同时只能存在一个层4
tips 贴士层,可配置同时存在多个层
content 定义的看似是 iframe,但真正决定它性质的还是 type 的值。
将 type 修改为 2 后,再将 content 换成页面地址后,可正常关闭。