乍一看,我惊讶地发现,我对会话cookie在移动设备上的行为方式的想法被现实所推翻。
在普通的桌面浏览器上,只要浏览器会话处于活动状态,行为就会存储会话cookie。如果最后一个浏览器窗口/进程已关闭,则应关闭该会话。
现在,在移动设备上,你几乎不会关闭浏览器应用程序,而只是将其发送到后台。
我在我的安装了Android 4的索尼Xperia Ray上发现,即使我清除了浏览器进程,会话cookie也没有过期。但在三星平板电脑设备上,情况就会如此。我不知道,iOS设备是如何做到这一点的。
这是个问题!?我应该怎么做才能解决这个问题?
现在,我决定让cookie在一天内过期。但我对此并不是很满意。
我应该降低生命周期吗?也许到8个小时?
发布于 2013-03-16 01:53:59
对于类似问题,我的解决方案是将document.referrer
与cookie结合使用。如果用户在您的站点内导航,则继续使用cookie (如果存在),否则过期或替换cookie。
然而,当用户在你的网站上将浏览器放在后台时,问题仍然存在。如果他们继续浏览并仅使用您网站中的链接,则仍将使用cookie。
发布于 2013-03-15 05:04:26
我会问用户是否想记住这个位置。如果不是,则将cookie的过期设置为服务器的超时。您将为用户提供选择用户体验的选项。
您可以尝试附加到onbeforeunload事件并向服务器发送post以更改cookie的过期时间,或者如果cookie不是安全类型,则将其从java脚本中删除。
https://stackoverflow.com/questions/15202521
复制相似问题