退出浏览器选项卡时如何关闭服务器?

How can I shutdown the server when I exit the browser tab?

提问人:CodeView 提问时间:6/22/2022 更新时间:6/22/2022 访问量:36

问:

退出浏览器选项卡时如何关闭服务器django

打开服务器 Django

在 django 中,在服务器之后,在选项卡中打开网站

如果网站上的所有选项卡都关闭,如何关闭服务器?

另外,我可以控制服务器在后台打开而不是在终端中打开吗?

我尝试处理 beforeunload 事件

window.addEventListener('beforeunload', function(e) {
   e.returnValue = 'if you exit?'; //required for Chrome
});

但此事件仅在刷新页面时有效,在关闭选项卡时不起作用

javascript ajax google-chrome django 模板

评论


答:

0赞 IT goldman 6/22/2022 #1

您可以将服务器设置为每 5 秒从打开的选项卡中预期一个特定的 ping(ajax 请求)。当所有 ping 都消失时,您就知道所有选项卡都已关闭。这是一种不好的做法。 另一种选择,同样的想法,是使用 websocket 连接。

评论

0赞 CodeView 6/22/2022
这将如何解决问题?
0赞 IT goldman 6/22/2022
这只是服务器假设客户端已消失的一种方式。至于服务器部分,您可以每隔一分钟左右安排一个作业来检查上次 ping 的时间戳。如果超过 5 秒前,则关闭服务器。