JavaScript操作Cookie

目标

JavaScript设置cookie,读取cookie,删除cookie

使用方法

把下面的代码实例代码复制到一个js文件中,引到你需要使用的界面中

调用方法:

manager.putCookie('loginName', loginName);//用户名(临时存储)
manager.putCookie('isloginInvalid', "true", 0.02);//是否登陆失效(持久性存储30分钟)

代码实例

/**
 * @author 蔡龙
 * @version 2017-08-09
 */
(function(){
	//manager命名空间,起隔离作用,防止同名变量冲突
	if(!window.manager) {window.manager={};}

	/**
	 * 写入cookie
	 * key  	cookie的键
	 * value	cookie的值
	 * expires 	cookie有效时间,不写代表关闭浏览器失效
	 */
	manager.putCookie = function(key, value, expires){
		manager.cookie(key, value, {path:'/',expires:expires});
	};

	/**
	 * 取出cookie
	 */
	manager.getCookie = function(key){
		return manager.cookie(key);
	};

	/**
	 * 操作cookie的通用函数
	 * 
	 * 示例0:写入一个临时cookie,关闭浏览器后失效 manager.cookie('键', '值');
	 * 示例1:写入一个持久cookie,manager.cookie(key, '0', {path:'/',expires:7});//7表示有效期7天
	 * 示例2:删除cookie  manager.cookie(key, '0', {path:'/',expires:-1});//清空,把时间设置为负数,会让cookie立即过期
	 *      (注意path要相同才能删除成功,如果cookie存储的path是/,删除时则要指定path为/)
	 * 示例3:写入一个cookie,7天后失效  manager.cookie('键', '值', {path:'/',expires:7});//7表示有效期7天
	 * 示例4:写入一个cookie,指定域名、路径、有效期 manager.cookie('键', '值', {domain:"www.test.com",path:'/',expires:7});
	 * 示例5:取cookie, manager.cookie('键') ,不能指定path路径,一个key存储在多个路径下,先返回目录层级长的。

	 * options.domain:指定域名
	 * options.path:指定路径,一般可指定/,若为null则写入当前页面的URL中取出当前路径
	 * options.expires:有效期,单位天
	 * options.secure:安全,true表示,该cookie只会在https下发送,而不会再http下发送
	 */
	manager.cookie=function (key, 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 = [key, '=', 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]);
					// Does this cookie string begin with the key we want?
					if (cookie.substring(0, key.length + 1) == (key + '=')) {
						cookieValue = decodeURIComponent(cookie.substring(key.length + 1));
						break;
					}
				}
			}
			return cookieValue;
		}
	}

})();

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值