layer弹出层显示在top顶层

因为项目框架用了iframe,所以在用layer时,默认layer.open弹出的窗口只能在iframe子窗口区域显示。现在想让layer在父窗口或者说框架的最顶层显示,想到用top.layer.open或者parent.layer.open,但是没反应。后面想到应该是在父页面中没有导入layer.js文件,导入后就能正常显示在父窗口页面区域了。 显示在顶层窗口

top.layer.open({  
              type: 2,  
              title: '标题',  
              shadeClose: true,  
              shade: 0.3,  
              area : ['850px' , '450px'],  
              <span style="color: rgb(51, 51, 51); font-family: 'Courier New'; line-height: 20px; white-space: pre-wrap;">content: 'http://sentsin.com' //这里content是一个URL,</span>  
            }); 

显示在父窗口

parent.layer.open({  
              type: 2,  
              title: '标题',  
              shadeClose: true,  
              shade: 0.3,  
              area : ['850px' , '450px'],  
              <span style="font-family: 'Courier New'; white-space: pre-wrap;">content: 'http://sentsin.com' //这里content是一个URL,</span>  
            }); 

top和parent是浏览器的内置对象,top表示最顶层容器,parent表示父容器,这样一来就是实现了iframe控制父页面或者顶层页面的弹窗效果了。

父窗口需要引入layui.js 并且初始化layer弹窗

<script>
            layui.use('layer', function(){
                var layer = layui.layer;
            });
        </script>

 

打赏

共有 0 条评论

Top