A-A+
解决artDialog弹出的iframe窗口不能关闭
下面我来介绍一个弹出插件在使用iframe时,然后点击关闭不了,下面我总结了两个解决办法.
artDialog用法,代码如下:
- art.dialog(options)
- var dialog = art.dialog({
- title: '欢迎',
- content: '欢迎使用artDialog对话框组件!',
- icon: 'succeed',
- follow: document.getElementById('btn2'),
- ok: function(){
- this.title('警告').content('请注意artDialog两秒后将关闭!').lock().time(2);
- return false;
- }
- });
iframee用法
artDialog针对CMS类的框架应用提供了专属插件,如穿越框架、iframe、AJAX、跨框架传值操作等。
例:使用open方法嵌入页面,并使用data方法在各个iframe间传递数据,代码如下:
- var val = document.getElementById('demoInput04-3').value;
- art.dialog.data('test', val);
- art.dialog.data('homeDemoPath', './_doc/');
- // 此时 iframeA.html 页面可以使用 art.dialog.data('test') 获取到数据,如:
- // document.getElementById('aInput').value = art.dialog.data('test');
- art.dialog.open('./_doc/iframeA.html');
弹窗方法,关闭弹窗时刷新当前窗体,代码如下:
- art.dialog.open('EditPublicInfo.aspx', { title: '添加重要通知与特别提醒', width: 800, height: 600, lock: true,
- closeFn: function () {
- location.reload();
- }
- });
使用服务器控件按钮时artDialog的关闭方法,页面中放置一个默认隐藏的Panel,代码放在Panel中,事件执行完成时显示此Panel,代码如下:
- <asp:Panel ID="pnlClose" runat="server" Visible="false">
- <script type="text/javascript">
- //方法一、通过刷新父页来关闭
- //window.top.location.reload();
- //方法二、遍历父页art所弹出的所有窗体并关闭
- jQuery.each(parent.art.dialog.dialogList, function (index, item) {
- item.close();
- });
- </script>
- </asp:Panel>