Cookie工具类 对页面查询条件进行保存记忆

/**
 * @Memo Cookies工具类 
 *  
 * @Author songyf
 * @Date Aug 31,2019
 * 
 * @Readme 对客户Cookies进行增删改查操作
 * 
 */
;(function(win,undefined) {
	"use strict" 
	var _win;
    var Cookies = {
    		
    		/**
    		 * 功能:获取指定名称的cookie的值
    		 * @returns
    		 */
    		_GetCookie: function(k) {
    		    var arr = document.cookie.match(new RegExp("(^| )"+k+"=([^;]*)(;|$)"));
    		    if(arr != null) return unescape(arr[2]); return null;
    		},
    		
    		/**
    		 * 功能:设置cookies
    		 * @param k cookie名称
    		 * @param v cookie值
    		 * @param t 有效时间 默认30天 单位:天
    		 */
    		_SetCookie: function(k,v,t){
    			if(!t) t = 30;
    		    var exp = new Date(); 
    		    exp.setTime(exp.getTime() + t*24*60*60*1000);
    		    document.cookie = k + "="+ escape (v) + ";expires=" + exp.toGMTString();
    		},
    		/**
    		 * 功能:删除cookies
    		 * @param k
    		 */
    		_removeCookie: function(k){
    			var exp = new Date();
    		    exp.setTime(exp.getTime() - 1);
    		    var cval=this._GetCookie(k);
    		    if(cval) document.cookie= k + "="+cval+";expires="+exp.toGMTString();
    		},
    		/**
    		 * 针对miniui查询条件 设置记忆
    		 * @param a  查询条件(html元素的id值是key)封装的json数据 {key1:value1,key2:value2,...}
    		 */
    		_Set_Mini_Memory: function(a){
    			if(!a) return;
    			for(var i in a){
    				this._SetCookie(this._PageName() + "_" + i,a[i]);
    			}
    		},
    		/**
    		 * 针对miniui查询条件 获取记忆
    		 * @param a  查询条件 html元素的id值 数组格式 [name1,name2,...]
    		 */
    		_Get_Mini_Memory: function(a){
    			if(!a || a.length <= 0) return null;
    			var return_obj = {};
    			for(var i = 0 , len = a.length ; i < len ; i++){
    				var k = this._PageName() + "_" + a[i];
    				var v = this._GetCookie(k);
    				if(mini && mini != 'undefined') mini.get(a[i]).setValue(v);
    				else $("#"+a[i]).val(v);
    				return_obj[a[i]] = v;
    			}
    			return return_obj;
    		},
    		/**
    		 * 获取页面的名称 - 不带后缀名和参数
    		 * @returns
    		 */
    		_PageName: function (){
    			
				var arrUrl=location.href.split("/");
				var n = arrUrl[arrUrl.length-1];
				if(n.indexOf("?") > -1){
					n = n.substring(0,n.indexOf("?"));
				}
				return arrUrl[arrUrl.length-2] + "_" + n;
   	       }
    }
    //将插件对象暴露给全局对象
    _win = (function(){ return this || (0, eval)('this'); }());
    !('Cookies' in _win) && (_win.Cookies = Cookies);
}());

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

残月飞鹰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值