Jam*_*mes 45
" 会话结束后到期 "的Cookie 会从用户的角度无法预测到期!
在使用Safari的iOS上,只要您切换应用,它们就会过期!
在使用Chrome的Android上,当您关闭浏览器时,它们不会过期.
在运行Chrome的Windows桌面上,当您关闭浏览器时,它们会过期.当你关闭网站标签时,情况并非如此; 当你关闭所有标签时.如果还有其他浏览器窗口打开,它们也不会过期.如果用户将Windows应用程序作为Windows运行,他们甚至可能不知道它们是浏览器窗口.所以你的cookie的生命取决于用户使用一些看似无关的应用程序做了什么.
min*_*gos 35
当您使用时setcookie,您可以设置到期时间0或只是省略参数 - 然后cookie将在会话结束时(即,当您关闭浏览器时)到期.
小智 9
只是为了纠正mingos的回答:
如果将到期时间设置为0,则根本不会创建cookie.我至少在Google Chrome上测试了这个,当设置为0时就是结果.我想,cookie会在创建后立即过期.
要设置一个cookie,使其在浏览会话结束时到期,只需简单地OMIT expiration参数即可.
例:
代替:
document.cookie = "cookie_name=cookie_value; 0; path=/";
Run Code Online (Sandbox Code Playgroud)
写吧:
document.cookie = "cookie_name=cookie_value; path=/";
Run Code Online (Sandbox Code Playgroud)
用户会话结束表示浏览器关闭时.
阅读:http://en.wikipedia.org/wiki/HTTP_cookie#Expires_and_Max-Age