目前,我的cookie设置为0,当用户关闭浏览器时过期。有没有办法将cookie设置为在用户离开我的网站时过期?
Cookie.write('cookieName', 'true',{duration:0});
我将“离开我的网站”定义为:完全转到另一个域名,如果用户在我的网站内浏览,我希望cookie仍然存在。
目前,我的cookie设置为0,当用户关闭浏览器时过期。有没有办法将cookie设置为在用户离开我的网站时过期?
Cookie.write('cookieName', 'true',{duration:0});
由于无法预测用户何时离开页面,因此您可能需要在onbeforeunload
事件上过期Cookie。
window.onbeforeunload = deleteMyCookie;
我还没有添加deleteMyCookie
函数的实现 - 但基本上你可以用空字符串覆盖 cookie,并将到期时间设置为当前时间。
更新 - 您的问题编辑使此答案无效。在您的情况下,您不知道他们何时离开您的域 - 因此,您必须满足于设置基于时间的到期时间。您可以设置一个相当短的持续时间(例如5分钟),并在每次加载您站点上的页面时移动它 - 因此,在他们离开您的域后,cookie最多只能存在5分钟。
onbeforeunload
事件并不总是触发。 - Brad M