我相信之前有人遇到过这个问题,我无法在任何地方找到任何内容。无论如何这是场景。
我有一个用户将登录的PHP网站,然后他们的帐户ID被设置为会话变量,然后一旦他们在其中它基本上充当单页面应用程序。会话帐户ID用于跟踪他们的活动,因为他们在整个应用程序中执行不同的操作。
该网站主要在移动设备上访问。我有PHP设置会话超时长度,然后使用JS,在超时结束前几分钟给他们一个弹出警告。然后在超时结束后,使用元刷新,它将它们重定向回登录页面。
在桌面上,这一切都像它应该的那样。在移动设备上,它表现不同。在移动设备上,用户可以登录,在页面上做一些事情,然后在没有退出的情况下,将他们的手机放在口袋里,而不是在几个小时内回来。当他们打开浏览器时,它会将它们保存在他们所在的页面上,但是JS显然没有在他们的手机睡觉期间运行,或者他们在过渡期间做的其他事情。元刷新也不能按预期工作,但会话仍然超时。因此,当他们打开应用程序备份并尝试执行操作时,我在数据库中收到错误,指出id不能为空。
我可以使用ajax检查他们的会话是否仍然存在于按钮的每次点击,但是对于应用程序的速度,我宁愿不这样做。
是否有其他人遇到此问题并找到了一种解决方案,可以自动在移动设备上查看的单页应用中注销用户?