jQuery没有直接操作cookie的函数,所以我们可以写一个cookie的操作函数,也可以下载一个jquery cookie插件,或者直接把jquery cookie函数拿来用。
1、正常思路的普通写法。
function SetCookie (name, value)
{
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(argc>2)?argv[2]: null;
var path=(argc>3)? argv[3]: null;
var domain=(argc>4)? argv[4]: null;
var secure=(argc>5)? argv[5]: false;
document.cookie=name+"="+escape(value)+((expires==null)?"":";expires="+expires.toGMTString()))+ ((path==null)?"":(";path="+path))+ ((domain==null)?"":(";domain="+ domain))+ ((secure==true)?";secure":"");
}
function GetCookie(name)
{
var arg=name+ "=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if(document.cookie.substring(i,j) ==arg)
return getCookieVal(j);
i=document.cookie.indexOf("",i)+1;
if(i==0)break; }
return null; }
2、直接把jquery的cookie操作函数拿来用。
jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') {
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();
}
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 {
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]);
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};