如何检测FireFox关闭事件?

时间:2014-10-01 21:02:53

标签: javascript events firefox

我想在用户刷新页面时执行一些代码,但Firefox不会执行我的代码,对我来说没什么用。我尝试了下面的例子,这样可以解决问题。我有一个名为websocket(window.websocket)的全局变量。

window.onunload=function(){
    return window.websocket.send(JSON.stringify({type: 'disconnect'}));
};

$(window).on("unload",function() {
    return window.websocket.send(JSON.stringify({type: 'disconnect'}));
};

$(window).unload = function() {
    return window.websocket.send(JSON.stringify({type: 'disconnect'}));
};

window.addEventListener("unload", function (e) {
    window.websocket.send(JSON.stringify({type: 'disconnect'}));

    (e || window.event).returnValue = null;     //Gecko + IE
    return null;                                //Webkit, Safari, Chrome etc.
});

我已经尝试了一些但是没有任何工作在firefox期望下面的例子向我显示一条消息来自无处并要求我确认退出页面,但我不想要任何确认。我真的不明白。

window.addEventListener("beforeunload", function (e) {
    var confirmationMessage = "\o/";

    (e || window.event).returnValue = confirmationMessage;     //Gecko + IE
    return confirmationMessage;                                //Webkit, Safari, Chrome etc.
});

我不想要任何消息,只需运行我的代码。 Firefox不可能这样做吗?

1 个答案:

答案 0 :(得分:0)

我找到了一个半工作的解决方案。

window.onbeforeunload = closeSocket;
function closeSocket(){
    window.websocket.send(JSON.stringify({type: 'disconnect'}));
    return false;
}

我现在要隐藏确认信息,这很好。有什么想隐藏确认信息吗?