有一个带有过期时间的会话 cookie,它说“在会话结束时”。 它到底什么时候过期,还是会永远活着?
当您使用 setcookie时,您可以将过期时间设置为 0,或者干脆省略参数-cookie 将在会话结束时过期(即,当您关闭浏览器时)。
setcookie
0
用户会话结束意味着当浏览器关闭时。
看看这个: http://en.wikipedia.org/wiki/HTTP_cookie#Expires_and_Max-Age
只是为了纠正明戈斯的回答:
If you set the expiration time to 0, the cookie won't be created at all. I've tested this on Google Chrome at least, and when set to 0 that was the result. The cookie, I guess, expires immediately after creation.
若要设置 cookie,使其在浏览会话结束时过期,只需完全省略过期参数即可。
例如:
而不是:
document.cookie = "cookie_name=cookie_value; 0; path=/";
只要写:
document.cookie = "cookie_name=cookie_value; path=/";
Cookies that '在会议结束时到期' expire unpredictably from the user's perspective!
在带 Safari 的 iOS 系统上,只要你切换应用程序,它们就会过期!
在安卓浏览器上,当你关闭浏览器时,不要会过期。
在运行 Chrome 的 Windows 桌面上,当你关闭浏览器时它们就会过期。这不是你关闭网站标签的时候,而是你关闭所有标签的时候。如果有任何其他浏览器窗口打开,它们也不会过期。如果用户将网络应用程序作为窗口运行,他们甚至可能不知道它们是浏览器窗口。因此,你的 cookie 的生命取决于用户正在用一些明显不相关的应用程序做什么。