jQuery MiniUI

 找回密码
 立即注册
查看: 13229|回复: 9
打印 上一主题 下一主题

mini.open 打开的页面内如何通过脚本关闭页面 [复制链接]

Rank: 2

跳转到指定楼层
楼主
发表于 2014-3-22 16:59:18 |只看该作者 |倒序浏览
在通过mini.open打开的页面A中,是form提交都后台然后返回到原来的A页面,此时我想在onload方法中根据返回的某个值来判断是否关闭页面,通过什么方法来关闭当前页面呢?

A页面:

有一个form,form提交后跳转到的页面仍然是A页面
在A页面中的onload方法中业务判断保存成功失败,如果成功,我想通过脚本把A页面关闭掉。
此时不知道用什么方法关闭!

A页面onload方法:
window.onload=function(){
        if(保存成功){


                //如何做能关闭A本身
                ????????????

        }
}


Rank: 6Rank: 6

沙发
发表于 2014-3-22 23:37:23 |只看该作者
可以呀,直接关闭就行了啊!

Rank: 2

板凳
发表于 2014-3-23 11:05:55 |只看该作者
gry 发表于 2014-3-22 23:37
可以呀,直接关闭就行了啊!

都不好使,已经试过,我调用CloseWindow("cancel");没有反应的。

     
function CloseWindow(action) {
    if (action == "close" && form.isChanged()) {
        if (confirm("数据被修改了,是否先保存?")) {
            return false;
        }
    }
    if (window.CloseOwnerWindow){
            return window.CloseOwnerWindow(action);
    }else{
            window.close();            
    }
}

Rank: 8Rank: 8

地板
发表于 2014-3-23 15:06:33 |只看该作者
jiang524 发表于 2014-3-23 11:05
都不好使,已经试过,我调用CloseWindow("cancel");没有反应的。

     

你提交后判断保存成功直接调用CloseWindow关闭就行了,不要在onload方法里写

Rank: 2

5#
发表于 2014-3-23 17:29:41 |只看该作者
felt 发表于 2014-3-23 15:06
你提交后判断保存成功直接调用CloseWindow关闭就行了,不要在onload方法里写

页面里需要上传了图片,所以是用form提交的,没办法直接调用CloseWindow方法

Rank: 8Rank: 8

6#
发表于 2014-3-24 10:24:02 |只看该作者
jiang524 发表于 2014-3-23 17:29
页面里需要上传了图片,所以是用form提交的,没办法直接调用CloseWindow方法 ...

为什么要放mini.open的onload里面?mini.open是写在父页面的,你在子页面判断保存成功,然后调用CloseWindow好了啊,干嘛要父页面去关子页面?

Rank: 2

7#
发表于 2014-3-25 11:33:55 |只看该作者
本帖最后由 jiang524 于 2014-3-25 12:06 编辑
factory 发表于 2014-3-24 10:24
为什么要放mini.open的onload里面?mini.open是写在父页面的,你在子页面判断保存成功,然后调用CloseWindow ...


不是放在mini.open的onLoad里面执行关闭页面,是在子页面form提交后仍然返回到该子页面,然后在子页面body的load的时候(注意不是mini.open的onload参数,而是<body>的onload方法!!),判断后台传过来的标志,如果是保存成功就调用CloseWindow方法,这个时候调用CloseWindow 关闭不了页面。

Rank: 8Rank: 8

8#
发表于 2014-3-25 13:25:30 |只看该作者
jiang524 发表于 2014-3-25 11:33
不是放在mini.open的onLoad里面执行关闭页面,是在子页面form提交后仍然返回到该子页面,然后在子页面bod ...

加点延时试试

Rank: 8Rank: 8

9#
发表于 2014-3-25 13:32:01 |只看该作者
jiang524 发表于 2014-3-25 11:33
不是放在mini.open的onLoad里面执行关闭页面,是在子页面form提交后仍然返回到该子页面,然后在子页面bod ...

window.CloseOwnerWindow,这个CloseOwnerWindow函数写入的时候会有个时间消耗

所以你在外面套个10毫秒的延时
window.onload= function (){
     settimeout(function(){
            close.....
    },10)
}

Rank: 2

10#
发表于 2014-3-25 14:21:46 |只看该作者
factory 发表于 2014-3-25 13:32
window.CloseOwnerWindow,这个CloseOwnerWindow函数写入的时候会有个时间消耗

所以你在外面套个10毫秒的 ...

恩,按照这个方法果然能关闭了,谢谢!

Archiver|普加软件

GMT+8, 2025-7-13 00:39 , Processed in 1.068263 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部