使用window.onbeforeunload时捕获用户响应

sar*_*ake 16 javascript dom

有没有办法捕获用户是单击确定还是取消?

如果用户离开页面,我只需要做一些事情....

sar*_*ake 7

这是我正在使用的解决方案,我只需要在用户从页面导航时执行某些操作(例如清除会话).

我有2个全球变量

var clearSession = true;
var confirmExit = true;


    window.onbeforeunload = function() { return confirmExit(); }
    window.onunload = function() { return clearSession(); }

function confirmExit() {
    if (needToConfirm == true) {       

        return "exit page?";
    }
}


function clearSession() {

     if (clearSession == true) {
        alert("Killing the session on the server!!!");
        PageMethods.ClearSession();
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,当然,在每个页面提交/按钮/下拉列表等...您需要确保上述全局变量设置为false.

希望这有助于某人.


jef*_*eon 4

不可以,浏览器只允许您指定警报框中的文本,但无法捕获结果。