我遇到过当您启动/退出保存到仪表板(全屏模式)的网络应用程序时,iOS4 会丢弃 cookie。
这是真的吗?有解决方法吗?
最佳答案
这不是错误,这是一个功能。 session cookie(即生命周期为 0 的 cookie)在浏览器 session 结束时被丢弃——在全屏网络应用程序的情况下,一旦您离开网络应用程序就会发生这种情况。如果您希望它们持续存在,只需将您的 cookie 生命周期设置为大于默认值 0(我使用 1 年)的值。
现在您的问题可能是:如何设置我的 cookie 生命周期?假设您使用的是 PHP,则这段代码将是:
$lifetime = 31536000; // one year
setcookie($varName,$varValue,time()+$lifetime);
如果您使用的是 PHP session ,则必须重写 cookie 以添加大于 0 的生命周期:
setcookie(session_name(),session_id(),time()+$lifetime);
通常,您不必为了更改默认生命周期而重写 session cookie,因为函数 session_set_cookie_params
应该让您这样做,但我发现情况并非总是如此。
关于iOS 全屏 Web 应用程序会掉落 cookies?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7077518/