首先,为了显示cookie,我使用了来自electrictoolbox.com的代码。
然后我做了一个表格来添加一些cookie:
<form class="cokies" method="post">
<input class="query" name="q" type="text" />
<input type="submit" name="save" value="saving">
<a>Delete Cookies</a>
</form>
$(document).ready(function(){
$('.cokies a').click(function(){
$.cookie('q', null);
});
remember('[name=q]');
此功能来自komodomedia.com:
function remember( selector ){
$(selector).each(function(){
//if this item has been cookied, restore it
var name = $(this).attr('name');
if( $.cookie( name ) ){
$(this).val( $.cookie(name) );
}
//assign a change function to the item to cookie it
$(this).change(function(){
$.cookie(name, $(this).val(), { path: '/', expires: 365 });
});
});
}
问题是,我无法弄清楚如何删除cookie。
答案 0 :(得分:14)
要删除cookie,只需将expires:
设置为负整数值。
示例:
$.cookie(name, $(this).val(), { path: '/', expires: -5 });
答案 1 :(得分:7)
新版本的Cookie插件已经问世,并提供以下方便的语法:
$.removeCookie('q');
答案 2 :(得分:2)
Jquery cookie脚本有一个bug ....更改脚本jquery.cookie.js的开头可能更好:
jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
options.path = "/";
}
....
在这种情况下,您将能够按预期删除cookie。
答案 3 :(得分:1)
$.removeCookie("COOKIE_NAME",{domain:'.domain.com',path:'/'});
检查Cookie的路径和域,并确保使用$.cookie
插件将其包含在额外参数中。