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

nik*_*tep 17 cookies mobile ios iphone-standalone-web-app

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

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

KPM*_*KPM 22

这不是一个错误,这是一个功能.会话cookie(即生命周期为0的cookie)在浏览器会话结束时被删除 - 如果是全屏Web应用程序,则会在您离开Web应用程序时立即发生.如果您希望它们持久存在,只需将您的cookie生命周期设置为大于默认值0(我使用1年).

现在你的问题可能是:我如何设置我的cookie生命周期?假设您正在使用PHP,那段代码将是:

$lifetime = 31536000; // one year 
setcookie($varName,$varValue,time()+$lifetime); 
Run Code Online (Sandbox Code Playgroud)

如果您正在使用PHP会话,则必须重写cookie以添加大于0的生命周期:

setcookie(session_name(),session_id(),time()+$lifetime);
Run Code Online (Sandbox Code Playgroud)

通常情况下,您不必重写会话cookie以更改默认生命周期,因为该功能session_set_cookie_params应该允许您这样做,但我发现情况并非总是如此.