iOS全屏Web应用丢弃cookies?

iOS全屏Web应用丢弃cookies?,ios,mobile,cookies,iphone-standalone-web-app,Ios,Mobile,Cookies,Iphone Standalone Web App,我曾经体验过,当您启动/退出保存到仪表板(全屏模式)的web应用时,iOS4会删除cookie 这是真的吗?有解决办法吗?这不是错误,而是功能。会话Cookie(即生存期为0的Cookie)在浏览器会话结束时丢弃-对于全屏web应用程序,这将在您离开web应用程序后立即发生。如果希望它们持续存在,只需将cookie生存期设置为大于默认值0的值(我使用1年) 现在你的问题可能是:如何设置我的cookie生存期?假设您使用的是PHP,则代码如下: $lifetime = 31536000; // o

我曾经体验过,当您启动/退出保存到仪表板(全屏模式)的web应用时,iOS4会删除cookie


这是真的吗?有解决办法吗?

这不是错误,而是功能。会话Cookie(即生存期为0的Cookie)在浏览器会话结束时丢弃-对于全屏web应用程序,这将在您离开web应用程序后立即发生。如果希望它们持续存在,只需将cookie生存期设置为大于默认值0的值(我使用1年)

现在你的问题可能是:如何设置我的cookie生存期?假设您使用的是PHP,则代码如下:

$lifetime = 31536000; // one year 
setcookie($varName,$varValue,time()+$lifetime); 
如果您使用的是PHP会话,则必须重写cookie以添加大于0的生存期:

setcookie(session_name(),session_id(),time()+$lifetime);

通常,您不必重写会话cookie来更改默认生存期,因为函数
session\u set\u cookie\u params
应该允许您这样做,但我发现情况并非总是这样

哇,太谢谢你了!!我已经研究了好几天了!我甚至尝试将会话ID保存在本地存储中,并在应用程序再次启动时将其发送回服务器,但没有成功。再次感谢@KPM但是你不认为它会导致严重的安全问题吗?如果你担心安全问题,你不需要将过期时间设置为一年-只设置为用户需要的时间-aka-比平均使用间隔时间多一点。我们使用它,这样当用户打电话或发短信并关闭webapp时,他们可以重新进入它,而不必登录……但如果它关闭了一个小时,例如,他们需要登录。