iOS全屏Web应用程序丢弃cookie?

时间:2011-08-16 11:31:14

标签: ios mobile cookies iphone-standalone-web-app

我已经体验到当您启动/退出保存到仪表板的网络应用程序(全屏模式)时,iOS4会丢弃Cookie。

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

1 个答案:

答案 0 :(得分:22)

这不是一个错误,它是一个功能。会话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_set_cookie_params应该让您这样做,但我发现情况并非总是如此。