Javascript窗口关闭事件而不是所有浏览器的卸载事件

时间:2010-01-04 07:14:13

标签: javascript

我想在用户尝试关闭浏览器而不保存某些设置时提醒用户。

我在另一个页面中卸载选项以提醒卸载数据,但是如何在window.close上警告用户(它没有服用)

window.onbeforeunload = confirmExit;
function confirmExit(){
    if(readCookie("onlineVD") == "playing" && Confirm_Delete=="0")
    {
        return "You are leaving a video which is in play mode.Are you sure want to exit this page?";
    }
    else{
        Confirm_Delete="0";
    }
}

我想在所有浏览器中关闭选项卡和关闭窗口时使用window.close。

请找我解决方案

2 个答案:

答案 0 :(得分:7)

我测试时,您似乎已经使用了事件代码。您只需返回false即可阻止浏览器关闭。将询问用户他们是否确定要离开页面。

我正在使用这个缩短版的代码:

window.onbeforeunload = confirmExit;
function confirmExit(){
    alert("confirm exit is being called");
    return false;
}

答案 1 :(得分:6)

Mozilla documentation表示您应该设置event.returnValue而不是简单地返回一个字符串:

window.onbeforeunload = confirmExit;
function confirmExit(e){
    if(readCookie("onlineVD") == "playing" && Confirm_Delete=="0")
    {
        var msg = "You are leaving a video which is in play mode.Are you sure want to exit this page?";
        if (e) {
            e.returnValue = msg;
        }

        return msg;
    }
    else{
        Confirm_Delete="0";
    }
}