如何调用window.unload

时间:2014-11-24 09:27:33

标签: javascript javascript-events window.onunload

我正在使用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();
};

请告知如何实现这一目标。

3 个答案:

答案 0 :(得分:0)

窗口事件的前缀为on

尝试使用window.onunload = ...甚至更好

window.addEventListener('unload', ...)

使用addEventListener时,请指定不带on前缀的事件名称。

了解详情:WindowEventHandlers.onunload

答案 1 :(得分:0)

首先,上面的代码中存在语法错误,您已写道:

window.onbeforeunload = function(e) {
     return "you are closing this web page';
};

因此,引号的类型应该是单引号或双引号,在字符串的开头和结尾都是相同的。

它应该是,并且它将起作用:

window.onbeforeunload = function(e) {
    return "you are closing this web page";
};

====

回到这一点。您只能通过卸载提示来更改消息。否则,任何其他方式都不会起作用:

  • 更改提示上的按钮上的操作
  • 更改提示的按钮文字
  • 更改框的UI

Q值。即使您在return之前写了一些内容,如果功能,也会被浏览器忽略。

答案 2 :(得分:0)

如果将方法分配给变量然后返回变量,则实际上可以在关闭时运行方法。

function unloadWebSocket()
{
    webSockect.closeConnection();
}

window.onbeforeunload = function(e) 
{
    var x = unloadWebSocket();
    return x;
};

虽然我没有使用websockets的经验,但我知道这适用于同步的ajax请求。