首页新闻找找看学习计划

关闭浏览器中的某一个窗口,怎样弹出提示?

-3
悬赏园豆:5 [已解决问题] 解决于 2016-10-08 15:00

如图所圈,当用户关闭其中的一个窗口时,弹出一个提示,如“是否离开此页面”

少爷zwx的主页 少爷zwx | 初学一级 | 园豆:159
提问于:2016-05-24 11:32
< >
分享
最佳答案
2
(function(window){
    function getEvent(){
        if(document.all){
            return window.event;
        }
        var func = getEvent.caller;
        while(func != null){
            var arg0 = func.arguments[0];
            if(arg0){
                if((arg0.constructor==Event || arg0.constructor ==MouseEvent) || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){
                    return arg0;
                }
            }
            func = func.caller;
        }
        return null;
    }

    function confirmClose(){
        if(window.event){
            window.event.returnValue = '您确实要退出吗?';
        }else{
            getEvent().preventDefault(); //for firefox
        }
    }

    try{
        if(!window.onbeforeunload){
            window.onbeforeunload = confirmClose;
        }
    }catch (e){}
})(window);

 

收获园豆:5
幻天芒 | 高人七级 |园豆:36522 | 2016-05-24 11:35

你的代码写的越来越风骚了。

上帝之城 | 园豆:2452 (老鸟四级) | 2016-05-24 14:35

@上帝之城: 我只是代码的搬运工~

幻天芒 | 园豆:36522 (高人七级) | 2016-05-24 17:10

@幻天芒: 知道去哪里搬也是厉害啊

上帝之城 | 园豆:2452 (老鸟四级) | 2016-05-24 19:03

@上帝之城: 巍哥威武~

幻天芒 | 园豆:36522 (高人七级) | 2016-05-25 09:01
其他回答(2)
0
window.onbeforeunload = function (e) {
    e = e || window.event;

    // For IE and Firefox prior to version 4
    if (e) {
        e.returnValue = '是否离开此页面';
    }

    // For Safari
    return '是否离开此页面';
};

 

RosonJ | 园豆:2439 (老鸟四级) | 2016-05-24 11:38

你看看楼上的代码,逼格你比高

支持(0) 反对(0) 小光 | 园豆:1830 (小虾三级) | 2016-05-24 13:36

@小光: 

高在哪?

支持(0) 反对(0) RosonJ | 园豆:2439 (老鸟四级) | 2016-05-24 13:38

@RosonJ: 多,眼花缭乱,还有异常~

支持(0) 反对(0) 小光 | 园豆:1830 (小虾三级) | 2016-05-24 13:42

@小光: 哎,几年前copy的代码,没加思考就发上来了。似乎这个更简洁。

支持(0) 反对(0) 幻天芒 | 园豆:36522 (高人七级) | 2016-05-24 17:15

@幻天芒: ==

支持(0) 反对(0) 小光 | 园豆:1830 (小虾三级) | 2016-05-24 17:16
0

主要就是操作window.onbeforeunload这个事件

浮云也是种寂寞 | 园豆:992 (小虾三级) | 2016-05-24 14:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册