如何调用 window.unload
How to call window.unload
我正在使用网络套接字连接进行通信。但是当用户刷新页面时,我想关闭此 Web 套接字连接。我还使用window.onbeforeunload
事件向用户显示带有自定义文本的确认框。如果用户选择"不重新加载"选项,则没有操作(工作正常)但是如果用户选择重新加载选项,我想关闭 Web 套接字连接。我不知道如何实现这一目标。我试图打电话给window.unload
并试图关闭网络套接字连接,但它不起作用。我的代码如下。
window.onbeforeunload = function(e) {
return "you are closing this web page';
};
window.unload = function(e) {
webSockect.closeConnection();
};
请告知如何实现此目的。
窗口事件以 on
为前缀。
尝试使用window.onunload = ...
甚至更好的
window.addEventListener('unload', ...)
.
使用 addEventListener
时,指定事件名称时不带前缀on
。
阅读更多:WindowEventHandlers.onunload
首先,上面的代码中存在语法错误,您编写了:
window.onbeforeunload = function(e) {
return "you are closing this web page';
};
因此,引号的类型应该是单引号或双引号,在字符串的开头和结尾相同。
它应该是,并且它将起作用:
window.onbeforeunload = function(e) {
return "you are closing this web page";
};
====
回到正题。使用卸载提示所能做的就是更改消息。其他任何内容都不起作用,例如:
- 更改提示按钮上的操作
- 更改提示的按钮文本
- 更改框的 UI
问:即使你在return
函数之前写了一些东西,浏览器也会忽略。
实际上,如果将方法分配给变量,然后返回变量,则可以在关闭时运行该方法。
function unloadWebSocket()
{
webSockect.closeConnection();
}
window.onbeforeunload = function(e)
{
var x = unloadWebSocket();
return x;
};
虽然我没有使用websockets的经验,但我知道这适用于同步ajax请求。
相关文章:
- 正在寻找比$(document).ready慢的$(window).load的替代方案
- 直接下载文件,而不是从window.open(url)
- $window.ga在AngularJS事件中未定义
- 如何将PDF作为二进制文件传递到window.open()
- window.onload没有'无法在Android WebView中工作
- window.location替换并传递URL历史记录条目中的变量
- window.on.scroll事件未启动
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 为什么window.open不打开一个以变量形式给出的链接
- window.location使用jquery mobile实现chrome跳转
- window.opener.document在ie中不起作用
- window.onpopstate不工作;当我导航回页面时,不会发生任何事情
- 未捕获的类型错误:topFrame.window.changeSelectedBarStyle不是函数,原因是什么
- $window.unload 中的 Post 方法从未调用更改 url,关闭选项卡,但在关闭浏览器时运行
- 如何调用 window.unload
- window.unload 在 jquery 中不起作用
- 在jQuery中从未调用过(window).unload函数
- IE问题的window.unload事件中的ajax调用
- dom事件-浏览器关闭时window.unload上的JavaScript警报,但刷新浏览器时不应发出警报
- window.unload上没有出现警报框