我正在使用Web套接字连接进行通信。但是当用户刷新页面时,我想关闭此Web套接字连接。 我还使用window.onbeforeunload事件向用户显示自定义text.IF用户选择'不重新加载'选项然后没有动作(工作正常) 但是,如果用户选择重新加载选项,我想关闭Web套接字连接。我不知道如何实现这一目标。我试图调用window.unload并尝试关闭web套接字连接,但它无法工作.Mu代码如下。
window.onbeforeunload = function(e) {
return "you are closing this web page';
};
window.unload = function(e) {
webSockect.closeConnection();
};
请告知如何实现这一目标。
答案 0 :(得分:0)
窗口事件的前缀为on
。
尝试使用window.onunload = ...
甚至更好
window.addEventListener('unload', ...)
。
使用addEventListener
时,请指定不带on
前缀的事件名称。
答案 1 :(得分:0)
首先,上面的代码中存在语法错误,您已写道:
window.onbeforeunload = function(e) {
return "you are closing this web page';
};
因此,引号的类型应该是单引号或双引号,在字符串的开头和结尾都是相同的。
它应该是,并且它将起作用:
window.onbeforeunload = function(e) {
return "you are closing this web page";
};
====
回到这一点。您只能通过卸载提示来更改消息。否则,任何其他方式都不会起作用:
Q值。即使您在return
之前写了一些内容,如果功能,也会被浏览器忽略。
答案 2 :(得分:0)
如果将方法分配给变量然后返回变量,则实际上可以在关闭时运行方法。
function unloadWebSocket()
{
webSockect.closeConnection();
}
window.onbeforeunload = function(e)
{
var x = unloadWebSocket();
return x;
};
虽然我没有使用websockets的经验,但我知道这适用于同步的ajax请求。