jQuery操作cookie的插件
下载地址:
作者地址:http://www.stilbuero.de/2006/09/17/cookie-plugin-for-jquery/
操作:
$.cookie(‘the_cookie’); // 读取 cookie
$.cookie(‘the_cookie’, 'the_value’); // 存储 cookie
$.cookie(‘the_cookie’, 'the_value’, { expires: 7 }); // 存储一个带7天期限的 cookie
$.cookie(‘the_cookie’, '', { expires: -1 }); // 删除 cookie
$.cookie(‘the_cookie’, 'the_value’); // 存储 cookie
$.cookie(‘the_cookie’, 'the_value’, { expires: 7 }); // 存储一个带7天期限的 cookie
$.cookie(‘the_cookie’, '', { expires: -1 }); // 删除 cookie
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;
}
};
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;
}
};