在页面跳转时关闭 WebSocket 连接,可以通过监听 beforeunload
或 unload
事件来实现。这些事件会在页面卸载时触发,从而让你可以执行清理操作,例如关闭 WebSocket 连接。
以下是基于 jQuery 的实现示例:
示例代码
javascript复制代码$(document).ready(function () { // 创建 WebSocket 连接
var socket = new WebSocket("wss://example.com/socket"); // 监听 WebSocket 连接的打开事件
socket.onopen = function () { console.log("WebSocket connection opened.");
}; // 监听 WebSocket 收到消息的事件
socket.onmessage = function (event) { console.log("Received message:", event.data);
}; // 监听 WebSocket 连接的关闭事件
socket.onclose = function () { console.log("WebSocket connection closed.");
}; // 监听 WebSocket 连接的错误事件
socket.onerror = function (error) { console.error("WebSocket error:", error);
}; // 在页面卸载时关闭 WebSocket 连接
$(window).on("beforeunload", function () { if (socket.readyState === WebSocket.OPEN) {
socket.close();
}
});
});