parent.layer is undefined ,导致Uncaught TypeError: Cannot read property 'open' of undefined


使用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 ;

  //…

});




layui layer

2020.11.18 00:15

https://www.meihaocloud.com.com/358.html , 欢迎转载,请在文章页标出原文连接 !


Copyright © 2020 千夕网 联系站长

粤公网安备 44030302001408号 粤ICP备19099833号-1