在layui开发的过程中,需要在弹出层里再次调用弹出层。
- layer.open,父页面封装弹出函数;
- top.layer.open,子页面封装弹出函数;
top.layer.open(),无法使用本地"files://"协议打开的,需要http协议。
否则提示:
Uncaught SecurityError: Blocked a frame with origin "null" from accessing a frame with origin "null". Protocols, domains, and ports must match.
函数封装
/*弹出窗口*/
function previewPages(url, title) {
layer.open({
type: 2,
shade: 0.6,
area: ['600px', '390px'],//弹出模态框尺寸;
shadeClose: true,
scrollbar: false,
maxmin: true,
title: title, //显示标题
content: url, //捕获的元素
cancel: function () {
//layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', { time: 5000, icon: 6 });
}
});
}
//嵌套弹出模态框;
function topPop(url, title) {
top.layer.open({
type: 2,
shade: 0.6,
area: ['800px', '450px'],//弹出模态框尺寸;
shadeClose: true,
scrollbar: false,
maxmin: true,
title: title, //显示标题
content: url, //捕获的元素
cancel: function () {
//layer.msg('捕获就是从页面已经存在的元素上,包裹layer的结构', { time: 5000, icon: 6 });
}
});
}
//普通窗口;
function winPop(url) {
window.open(url, '_blank', 'width=' + (window.screen.availWidth - 10) + ',height=' + (window.screen.availHeight - 30) + ',top=0,left=0,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no')
}
Done!