jQuery cookie是个很好的cookie插件,大概的使用方法如下
代码
example $.cookie(’name’, ‘value’);
设置cookie的值,把name变量的值设为value
example $.cookie(’name’, ‘value’, {expires: 7 , path: ‘ / ’, domain: ‘jquery.com’, secure: true});
新建一个cookie 包括有效期 路径 域名等
example $.cookie(’name’, ‘value’);
新建cookie
example $.cookie(’name’, null );
删除一个cookie
var account = $.cookie( ' name ' );
取一个cookie(name)值给myvar
设置cookie的值,把name变量的值设为value
example $.cookie(’name’, ‘value’, {expires: 7 , path: ‘ / ’, domain: ‘jquery.com’, secure: true});
新建一个cookie 包括有效期 路径 域名等
example $.cookie(’name’, ‘value’);
新建cookie
example $.cookie(’name’, null );
删除一个cookie
var account = $.cookie( ' name ' );
取一个cookie(name)值给myvar
jQuery cookie插件源码如下:
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 ;
}
var expires = '' ;
if (options.expires && ( typeof options.expires == ' number ' || options.expires.toUTCString)) {
var date;
if ( typeof options.expires == ' number ' ) {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000 ));
} else {
date = options.expires;
}
expires = ' ; expires= ' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
}
var path = options.path ? ' ; path= ' + options.path : '' ;
var domain = options.domain ? ' ; domain= ' + options.domain : '' ;
var secure = options.secure ? ' ; secure ' : '' ;
document.cookie = [name, ' = ' , encodeURIComponent(value), expires, path, domain, secure].join( '' );
} else { // only name given, get cookie
var cookieValue = null ;
if (document.cookie && document.cookie != '' ) {
var cookies = document.cookie.split( ' ; ' );
for ( var i = 0 ; i < cookies.length; i ++ ) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring( 0 , name.length + 1 ) == (name + ' = ' )) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1 ));
break ;
}
}
}
return cookieValue;
}
};
if ( typeof value != ' undefined ' ) { // name and value given, set cookie
options = options || {};
if (value === null ) {
value = '' ;
options.expires = - 1 ;
}
var expires = '' ;
if (options.expires && ( typeof options.expires == ' number ' || options.expires.toUTCString)) {
var date;
if ( typeof options.expires == ' number ' ) {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000 ));
} else {
date = options.expires;
}
expires = ' ; expires= ' + date.toUTCString(); // use expires attribute, max-age is not supported by IE
}
var path = options.path ? ' ; path= ' + options.path : '' ;
var domain = options.domain ? ' ; domain= ' + options.domain : '' ;
var secure = options.secure ? ' ; secure ' : '' ;
document.cookie = [name, ' = ' , encodeURIComponent(value), expires, path, domain, secure].join( '' );
} else { // only name given, get cookie
var cookieValue = null ;
if (document.cookie && document.cookie != '' ) {
var cookies = document.cookie.split( ' ; ' );
for ( var i = 0 ; i < cookies.length; i ++ ) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring( 0 , name.length + 1 ) == (name + ' = ' )) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1 ));
break ;
}
}
}
return cookieValue;
}
};