提供方便方法操作cookie :
$.cookie('the_cookie'); // 获得cookie
$.cookie('the_cookie', 'the_value'); // 设置cookie
$.cookie('the_cookie', 'the_value', { expires: 7 }); //设置带时间的cookie
$.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'sosuo8.com', secure: true });
$.cookie('the_cookie', '', { expires: -1 }); // 删除
$.cookie('the_cookie', null); // 删除 cookie
代码:
/**
* Cookie 插件
*
* 版权所有 (c) 2006 Klaus Hartl (stilbuero.de)
* 根据 MIT 和 GPL 许可证双重许可:
* http://www.opensource .org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*
*/
/**
* 使用给定的名称和值以及其他可选参数创建一个 cookie。
*
* @example $.cookie('the_cookie', 'the_value');
* @desc 设置 cookie 的值。
* @example $.cookie('the_cookie', 'the_value', { 过期时间: 7, 路径: '/', 域名: 'jquery.com', secure: true });
* @desc 创建一个包含所有可用选项的 cookie。
* @example $.cookie('the_cookie', 'the_value');
* @desc 创建会话 cookie。
* @example $.cookie('the_cookie', null);
* @desc 通过传递 null 作为值来删除 cookie。请记住,您必须使用设置 cookie 时使用的相同路径和域
*。
*
* @param String name cookie 的名称。
* @param String value cookie 的值。
* @param 对象选项 包含键/值对的对象文字,以提供可选的 cookie 属性。
* @option Number|Date expires 指定从现在开始的到期日期(以天为单位)的整数或 Date 对象。
* 如果指定负值(例如过去的日期),cookie 将被删除。
* 如果设置为 null 或省略,则 cookie 将是会话 cookie,并且在浏览器退出时不会保留
*。
* @option String path cookie 的路径属性值(默认:创建 cookie 的页面路径)。
* @option String domain cookie 的域属性值(默认:创建 cookie 的页面的域)。
* @option Boolean secure 如果为 true,将设置 cookie 的安全属性,并且 cookie 传输将
* 需要安全协议(如 HTTPS)。
* @type undefined
*
* @name $.cookie
* @cat 插件/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
/**
* 获取具有给定名称的 cookie 的值。
*
* @example $.cookie('the_cookie');
* @desc 获取 cookie 的值。
*
* @param String name cookie 的名称。
* @return cookie 的值。
* @type String
*
* @name $.cookie
* @cat 插件/Cookie
* @author Klaus Hartl/klaus.hartl@stilbuero.de
*/
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
}
// CAUTION: Needed to parenthesize options.path and options.domain
// in the following expressions, otherwise they evaluate to undefined
// in the packed version for some reason...
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;
}
};