A-A+

解决artDialog弹出的iframe窗口不能关闭

2016年02月19日 web前端设计 暂无评论 阅读 6 views 次

下面我来介绍一个弹出插件在使用iframe时,然后点击关闭不了,下面我总结了两个解决办法.

artDialog用法,代码如下:

  1. art.dialog(options)  
  2. var dialog = art.dialog({  
  3.     title: '欢迎',  
  4.     content: '欢迎使用artDialog对话框组件!',  
  5.     icon: 'succeed',  
  6.     follow: document.getElementById('btn2'),  
  7.     ok: function(){  
  8.         this.title('警告').content('请注意artDialog两秒后将关闭!').lock().time(2);  
  9.         return false;  
  10.     }  
  11. });  

iframee用法

artDialog针对CMS类的框架应用提供了专属插件,如穿越框架、iframe、AJAX、跨框架传值操作等。

例:使用open方法嵌入页面,并使用data方法在各个iframe间传递数据,代码如下:

  1. var val = document.getElementById('demoInput04-3').value;  
  2. art.dialog.data('test', val);  
  3. art.dialog.data('homeDemoPath', './_doc/');  
  4. // 此时 iframeA.html 页面可以使用 art.dialog.data('test') 获取到数据,如:  
  5. // document.getElementById('aInput').value = art.dialog.data('test');  
  6. art.dialog.open('./_doc/iframeA.html');  

弹窗方法,关闭弹窗时刷新当前窗体,代码如下:

  1. art.dialog.open('EditPublicInfo.aspx', { title: '添加重要通知与特别提醒', width: 800, height: 600, lock: true,  
  2.     closeFn: function () {  
  3.       location.reload();  
  4.     }  
  5.   });  

使用服务器控件按钮时artDialog的关闭方法,页面中放置一个默认隐藏的Panel,代码放在Panel中,事件执行完成时显示此Panel,代码如下:

  1. <asp:Panel ID="pnlClose" runat="server" Visible="false">  
  2.     <script type="text/javascript">  
  3.         //方法一、通过刷新父页来关闭  
  4.         //window.top.location.reload();  
  5.    
  6.         //方法二、遍历父页art所弹出的所有窗体并关闭  
  7.         jQuery.each(parent.art.dialog.dialogList, function (index, item) {  
  8.             item.close();  
  9.         });  
  10.     </script>  
  11. </asp:Panel>  

给我留言