当用户使计算机进入睡眠状态时,将其从网站注销
这是一个奇怪的问题。我们有一个Laravel网站,在所说的网站上,每个用户都有一个计时器,在启动之前,他们会在15分钟内处于非活动状态。 我们通过一个React组件中位于页面上的计时器来执行此操作,它可以按期望的方式工作,但是现在我们遇到了一个新问题:如果用户登录并关闭笔记本电脑的盖子,则网站应该启动它们。银行这样做,学校和大学这样做,政府场所也这样做。因此有可能,只是不确定如何。 我们使用laravel-websockets库和Echo 来使用Web套接字。我希望看到的是: 关闭笔记本电脑启动后,您将进入登录屏幕。因此,下次打开笔记本电脑并登录时,会在登录屏幕上看到浏览器。它并不需要很快发生,但是我们需要一种方法来将一些内容发送到前端,基本上告诉他们刷新页面,一旦会话被终止,我们将会话生存时间设置为15分钟。 有人在其他类似问题中提出了建议: 创建一个自定义的网络套接字处理程序 将会话cookie(在浏览器中)与后端的用户cookie进行比较。 要在前端运行计时器(我们这样做,当您合上笔记本电脑盖时它会停止) 最受欢迎的一种似乎是使用网络套接字,侦听用户断开连接然后再启动它们,这很好,而且一切正常,但是如何将请求发送到已暂停然后再启动的浏览器? 我发现了requestIdleCallback()但是,如果我已经在该站点上安装了心跳计时器,那么我不希望这就是我想要的。它也不适用于所有浏览器。 我对如何完成此操作非常迷失,我可以举的例子是: 登录到您的银行,使计算机进入睡眠状态,等待15-20分钟,唤醒计算机,然后登录,然后在登录屏幕上看到您的银行已将您带入。那就是我想要的。但是我不知道该怎么做到。 您不能从后端将事件发送到“正在休眠”的浏览器,虽然是的,这必须是后端解决方案,但是如何更新前端,以便重新唤醒笔记本电脑时它们出现在注销屏幕上还是电脑?