通常这并不重要,对于我的情况甚至可能不太重要,但我想知道是否有合理的方法来实现这一点。
我的页面会自动打开一个 Web 套接字连接。为了成为更好的客户端,我希望客户端自行清理并在页面卸载之前关闭 websocket。
我希望浏览器close()
在页面卸载时有先见之明来调用我,但如果没有,我如何利用onbeforeunload
消息(或类似消息)进行一些“最终清理”(atexit()
与C)?
假设我有一些系统,我希望我的客户出于某种原因向我的 websocket 服务器发送“退出”消息。
我现在可以这样做:
$(window).on('beforeunload', function () {
websocket.close(); // websocket is a WebSocket
});
但是假设close()
实际上是一个异步调用(是吗?),我想确保在实际卸载页面之前触发 socket.onclose 回调!这可以做到吗?