使用parent.layer报错:
var parentLayer = parent.layer ;
parentLayer.open({
type: 2 //类型
,title: "添加用户"
,area: ['450px', '660px']
,shade: 0.5
,anim: 1
,shadeClose:false
,maxmin: false
,resize: false
,content: "<%=path%>/user/addPage"
,yes: function(){
}
,btn2: function(){
parentLayer.closeAll();
}
,zIndex: parentLayer.zIndex //重点1
,success: function(layero){
parentLayer.setTop(layero); //重点2
}
});
报错:Uncaught TypeError: Cannot read property 'open' of undefined
打印 “parent.layer”,输出是 undefined ;
原因:
父页没引入layer.js ;父页面引入 jquery 和 layer 的 js 文件后,iframe 里面的代码就可以使用 parent.layer... 的方式弹窗
但是,本人在 父页面确实是引入了layui.js 的。
解决:
在父页面中显示使用layer. 红色部分很关键,之前没加就报错。
<script type="text/javascript" src="/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript" src="/layui/layui.js"></script>
<script type="text/javascript">
layui.use(['element','layer'], function(){
var element = layui.element;
var layer = layui.layer ;
//…
});