我已经体验到当您启动/退出保存到仪表板的网络应用程序(全屏模式)时,iOS4会丢弃Cookie。
这是真的吗?有解决方法吗?
答案 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
应该让您这样做,但我发现情况并非总是如此。