jQuery MiniUI

标题: destroy 在mini.open 和 mini.Window [打印本页]

作者: 双鱼达摩    时间: 2013-6-25 17:34:34     标题: destroy 在mini.open 和 mini.Window

今天在对比 mini.open 和 mini.Window时发现
ondestroy 的出发效果不一样
用.destroy() 对对象进行销毁时 的效果不一样
对于window 有 销毁前出发事件么?
还是说这个是一个BUG

mini.open({
        url:"123.aspx",
        title: "测试",
        width:600,
        height:240,
        ondestroy: function (res) {  //弹出页面销毁前
                if (res == "ok") {
                    var iframe = this.getIFrameEl();
                    var data = iframe.contentWindow.GetData();
                    data = mini.clone(data);    //必须
                    mini.get("txtXQTD").setValue(data);
                }
            }                        
    })
    var WinQX = new mini.Window();
    WinQX.set({
        title: "测试",
        url: "123.aspx",
        width: 600,
        height: 240,
        closeAction: "destroy",
        ondestroy: function () {  //弹出页面销毁后
                var iframe = this.getIFrameEl(); //对像被销毁,所以获取不到
                var data = iframe.contentWindow.GetData();
                data = mini.clone(data);    //必须
                mini.get("txtXQTD").setValue(data);
        }
    });

作者: factory    时间: 2013-6-26 09:26:00

window内部没有iframe,所以你找不到,跟mini.open不一样,window加载的内容一般都是固定写在上面的,mini.open加载的是一个页面,所以有iframe
作者: 双鱼达摩    时间: 2013-6-26 09:34:18

factory 发表于 2013-6-26 09:26
window内部没有iframe,所以你找不到,跟mini.open不一样,window加载的内容一般都是固定写在上面的,mini. ...

但是对于设置加载页面的时候都会有iframe这个对象呢.
你的意思是不管什么时候  window 的 getIFrameEl() 一直是空的么?
作者: factory    时间: 2013-6-26 10:21:27

双鱼达摩 发表于 2013-6-26 09:34
但是对于设置加载页面的时候都会有iframe这个对象呢.
你的意思是不管什么时候  window 的 getIFrameEl()  ...

看你怎么写法,如果是直接在window的div里面写东西,那么肯定是没有iframe的
如果是这样的,http://www.miniui.com/demo/#src=panel/load.html

给个url的方式,那么是有iframe的。

window从panel派生,参考上面这个demo就可以了
作者: 卜卜萝    时间: 2013-6-26 17:18:20

本帖最后由 卜卜萝 于 2013-6-26 17:21 编辑
  1. WinQX.set({
  2.         title: "测试",
  3.         url: "123.aspx",
  4.         width: 600,
  5.         height: 240,
  6.         closeAction: "destroy",
  7.         onload: function () {       //弹出页面加载完成
  8.             var iframe = this.getIFrameEl();//获取正常!
  9.         }
  10.         ondestroy: function () {  //弹出页面销毁后
  11.             alert("123");//窗体关闭后才弹出提醒框!
  12.             var iframe = this.getIFrameEl(); //对像被销毁,所以获取不到
  13.         }
  14.     });
复制代码

mini-window 的 destroy 事件确实是销毁后才触发!





欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2