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

Ela*_*gan 10 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";
    }
}
Run Code Online (Sandbox Code Playgroud)

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

请找我一个解决方案

Ric*_*ide 7

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

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

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


Rob*_*Dam 6

Mozilla的文档表明您应该设置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";
    }
}
Run Code Online (Sandbox Code Playgroud)