【发布时间】:2011-08-16 11:31:13
【问题描述】:
我体验过,当您启动/退出保存到仪表板(全屏模式)的网络应用程序时,iOS4 会丢弃 cookie。
这是真的吗?有解决方法吗?
【问题讨论】:
标签: ios mobile cookies iphone-standalone-web-app
我体验过,当您启动/退出保存到仪表板(全屏模式)的网络应用程序时,iOS4 会丢弃 cookie。
这是真的吗?有解决方法吗?
【问题讨论】:
标签: ios mobile cookies iphone-standalone-web-app
这不是错误,而是功能。会话 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 应该允许您这样做,但我发现并非总是如此。
【讨论】: