我想在用户刷新页面时执行一些代码,但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不可能这样做吗?
答案 0 :(得分:0)
我找到了一个半工作的解决方案。
window.onbeforeunload = closeSocket;
function closeSocket(){
window.websocket.send(JSON.stringify({type: 'disconnect'}));
return false;
}
我现在要隐藏确认信息,这很好。有什么想隐藏确认信息吗?