jQuery cookie是否可能像会话变量一样过期?

jQuery cookie是否可能像会话变量一样过期?,jquery,cookies,session-cookies,jquery-cookie,Jquery,Cookies,Session Cookies,Jquery Cookie,我知道这个问题已经被问了一千遍,但没有一个答案能真正告诉我我在寻找什么。我正在使用存储一些信息,但我希望它们在浏览器关闭时过期窗口。卸载是不可行的选项(读取:不起作用。) 我的问题是:是否真的可以将cookie设置为在浏览器关闭时过期,比如会话?如果是,有人知道怎么做吗 更新:结果很简单,没有通过到期日:0(这不起作用),只是根本不通过任何到期日。这就解释了为什么问题不多 谢谢大家。这是可能的。也就是说,如果您在cookie处理代码中设置了“Discard”属性,并且浏览器支持该属性,则可以设置

我知道这个问题已经被问了一千遍,但没有一个答案能真正告诉我我在寻找什么。我正在使用存储一些信息,但我希望它们在浏览器关闭时过期<代码>窗口。卸载是不可行的选项(读取:不起作用。)

我的问题是:是否真的可以将cookie设置为在浏览器关闭时过期,比如会话?如果是,有人知道怎么做吗

更新:结果很简单,没有通过到期日:0(这不起作用),只是根本不通过任何到期日。这就解释了为什么问题不多

谢谢大家。

这是可能的。也就是说,如果您在cookie处理代码中设置了“Discard”属性,并且浏览器支持该属性,则可以设置该属性

也就是说:jquerycookie不支持Discard属性。您必须像这样扩展代码(关于原始文件中的第57行):


事实证明,它非常简单,不是通过过期:0(这不起作用),而是根本不通过任何过期。这就解释了为什么问题不多

因此,与其使用如下标志通过到期:

$.cookie(key, value, { expiry: 0, domain: '', path: '' });
您只需忽略过期值:

$.cookie(key, value, { domain: '', path: '' });
它是有效的。这件事太简单了,把我弄糊涂了


不过还是要谢谢你

如果您使用这样的默认设置

 $.cookie.defaults = { path: '/', expires: 365 };
然后,您需要为每个cookie值使用以下属性

$.cookie(key, value, { expires: null });

HTTP必须发送到期日期。检查RFC和实施是否发送了正确的日期。(必须是过去。)
$.cookie(key, value, { expires: null });