我体验过 iOS4 在您启动/退出保存到仪表板(全屏模式)的 Web 应用程序时会丢弃 cookie。
这是真的吗?有解决方法吗?
我体验过 iOS4 在您启动/退出保存到仪表板(全屏模式)的 Web 应用程序时会丢弃 cookie。
这是真的吗?有解决方法吗?
这不是一个错误,这是一个功能。会话 cookie(即生命周期为 0 的 cookie)在浏览器会话结束时被删除——对于全屏网络应用程序,一旦您离开网络应用程序,就会发生这种情况。如果您希望它们持续存在,只需将您的 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
应该允许您这样做,但我发现并非总是如此。