我有一个页面,我希望脚本能够让服务器知道,当浏览器/选项卡/页关闭时,用户就离线了。
$(document).ready(function() {
// Inform the server that the user went online
setStatus('online');
// Inform the server that the user went offline
$(window).on('beforeunload', function() {
setStatus('offline');
});
// Inform the server that the user went offline
$(window).on('unload', function() {
setStatus('offline');
});
});
async function setStatus(status) {
let { data } = await axios.post('/status', { status: status });
}我拥有setStatus('online');的部分可以工作,但是当我关闭页面/选项卡/浏览器时,我似乎永远无法将状态设置为offline。
发布于 2021-12-10 06:21:17
环顾四周,我发现这个非常好的answer --我只需要把这个放在我的server.js文件中:
peer.oniceconnectionstatechange = function() {
if(peer.iceConnectionState == 'disconnected') {
console.log('Disconnected');
}
}它确实需要几秒钟的时间才能记录到对等点已经下降,但至少它总是在发射,这对我来说是足够可靠的。
https://stackoverflow.com/questions/70300208
复制相似问题