`
JavaSam
  • 浏览: 954679 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

最强javascript操作cookie组件

 
阅读更多
/**
 * @author wsf
 */

var jCookies = (function (){
	var instance;//对象引用
	
	var methods = {
		/**
		 * 设置cookie
		 */
		setCookie : function (cName,cValue,cExpir){
			if(cName){
				var d = new Date();
				if(cExpir)
				  d.setTime(getNowDateTime()+getSpecificDate(cExpir));
				else
				  d = this.expirDate;
			    this.doc.cookie = cName + "="+ escape (cValue) + ";expires=" + d.toGMTString();
			}
		},
		/**
		 * 获得指定cookei
		 */
		getCookie : function (cName){
			var arr,reg=new RegExp("(^| )"+cName+"=([^;]*)(;|$)");
		    if(arr=this.doc.cookie.match(reg))
		        return (arr[2]);
		    else
		        return null;
		},
		/**
		 * 移除cookie
		 */
		removeCookie : function (cName){
			var exp = new Date();
		    exp.setTime(getNowDateTime() - 1);//当前日期-1
		    var cval=this.getCookie(cName);
		    if(cval!=null)
		        this.doc.cookie= cName + "="+cval+";expires="+exp.toGMTString();
		},
		/**
		 * 更改cookie的失效时间
		 */
		updateCookie : function (cName,cValue,cExpir){
			this.setCookie(cName,cValue,cExpir);
		},
		
		/**
		 * 清空所有cookies
		 */
		
		clearCookies : function () {
			var keys = this.doc.cookie.match(/[^ =;]+(?=\=)/g);
			if (keys) {
				for (var i = keys.length; i--; )
				   this.removeCookie(keys[i]);
			}
		}

		
	};
	/**
	 * 创建cookies对象
     * @param {Object} options
	 */
	function singletenCookie(options){
		var options = options || {};
		var expirDateTime = getNowDateTime() + (options.expirDate * 24 * 3600 * 1000 || 24 * 3600 * 1000);//cookie的默认失效时间  单位为天
		var expirD = new Date();
		expirD.setTime(expirDateTime);
		this.expirDate = expirD;
		this.doc = document;//文档对象,操作cookies
		extend(this,methods);
		return this;
	}
	/**
	 * 获取当前时间,单位为毫秒
	 */
	function getNowDateTime(){
		var d = new Date();
		return d.getTime();
	}
	
	/**
	 * 暂时没用默认失效时间单位为天
	 * 获得指定的失效时间
	 * s是代表秒:20s指20秒
	 * h是指小时,如12小时则是:12h
     * d是天数,30天则:30d
	 */
	
	function getSpecificDate(str) {
		var str1 = str.substring(str.length-1) * 1;//字符串转数字
		var str2 = str.replace(str1,"");
		if (str2 == "s") {
			return str1 * 1000;
		} else if (str2 == "h") {
			return str1 * 60 * 60 * 1000;
		} else if (str2 == "d") {
			return str1 * 24 * 60 * 60 * 1000;
		}
	}

	
	/**
	 * 类似继承方法
	 * @param {Object} destination
	 * @param {Object} source
	 */
	function extend(destination, source) {
	    for (var property in source)
	      destination[property] = source[property];
	    return destination;
	}
	
	var _static = {
		name : "jCookies",
		getInstance : function (options){
			if(!instance)
			   instance = new singletenCookie(options);
			return instance;
		}
	}
	return _static;
})();



调用方式
           alert(document.cookie);
           var cookies = jCookies.getInstance();
	    cookies.setCookie("test","123","1s");
	   alert(cookies.getCookie("test"));
	    //cookies.clearCookies();
	    alert(document.cookie);

 

0
7
分享到:
评论

相关推荐

    javascript 操作cookie.js

    javascript 操作cookiejavascript 操作cookiejavascript 操作cookie

    C#和javascript操作cookie

    在ASP.NET环境中,结合C#和JavaScript,我们可以实现跨语言的Cookie操作,以便于实现用户会话管理、个性化设置等功能。本文将详细探讨如何在C#后端和JavaScript前端中操作Cookie。 首先,C#在ASP.NET中处理Cookie...

    cookie-banner, 基于JavaScript的cookie信息横幅,适用于欧盟 cookie.zip

    cookie-banner, 基于JavaScript的cookie信息横幅,适用于欧盟 cookie Cookie标题 Cookie横幅是确保你遵守欧盟Cookie规则的一种非常简单的方法。 只要从你的页面引用 cookiebanner.min.js 脚本就完成了。Cookie ...

    《使用javascript访问kettle内部组件》示例代码

    标题"《使用javascript访问kettle内部组件》示例代码"表明,我们将探讨如何使用JavaScript与Kettle进行交互,以控制和操作Kettle的数据转换和作业。这通常涉及到通过Web服务、API或者自定义插件的方式,实现...

    javascript操作Cookie(设置、读取、删除)方法详解

    JavaScript提供了一组方法,可以让我们在客户端对Cookie进行操作,包括设置、读取和删除Cookie。本文详细介绍了这三种操作的方法,并提供了相应的示例代码,帮助开发者更好地理解如何在JavaScript中使用Cookie。 ...

    非常漂亮javascript的日历组件

    - **codebase**:可能是一个基础库或者框架,组件依赖于这些代码来实现某些功能,例如事件处理、DOM操作等。 在使用这个JavaScript日历组件时,开发者需要将源代码引入到HTML页面中,然后通过JavaScript调用相应的...

    JD cookie一键获取脚本,基于JavaScript

    jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本,基于JavaScript jdcookie.js下载 JD cookie一键获取脚本...

    【JavaScript源代码】详解操作cookie的原生方法cookieStore.docx

    JavaScript中的Cookie管理和操作是Web开发中的基础技能,用于存储客户端数据。传统的操作方式主要依赖于`document.cookie`属性,但这种方式存在一些限制,比如字符长度限制、无法直接操作多个Cookie等。随着浏览器...

    javascript 中Cookie读、写与删除操作.docx

    ### JavaScript中的Cookie读、写与删除操作详解 #### 前言 在现代Web开发中,前后端分离架构越来越流行,这导致了浏览器与服务器之间的数据交换变得尤为重要。Cookie作为一种简单而有效的方式,在用户状态管理方面...

    浅析javascript操作 cookie对象

    尽管如此,JavaScript的Cookie操作依然在许多应用场景中不可或缺,如用户个性化设置、购物车功能、登录状态保持等。 总结一下,JavaScript操作Cookie涉及以下几个关键点: 1. Cookie数据以文本文件形式存储在客户端...

    JS Cookie的操作

    总结,了解和掌握JavaScript中的Cookie操作对于Web开发人员来说是必不可少的技能,它能帮助我们实现用户会话管理、个性化设置等功能。通过本文档和提供的示例,你应该能够熟练地在你的项目中运用Cookie了。

    JavaScript对Cookie进行读写操作实例

    在介绍JavaScript如何操作Cookie的过程中,首先需要了解Cookie的基本概念。Cookie是由服务器发送到用户浏览器并保存在本地的一小块数据,它会在用户与网站交互时被浏览器保存在本地,并随着后续的请求发送到服务器,...

    JavaScript实现日历组件-源代码

    JavaScript实现的日历组件是一种常见的网页交互元素,常用于让用户方便地选择日期,尤其在填写表单时。这个组件是纯HTML脚本编写的,这意味着它不依赖任何外部库或框架,如jQuery或AngularJS,因此它具有轻量级、...

    JavaScript操作cookie类实例

    JavaScript作为浏览器端的主要编程语言,能够对Cookie进行操作,包括设置、读取和删除等。 ### JavaScript操作Cookie类知识点详解 #### 一、JavaScript操作Cookie类的实例用法 1. **设置Cookie** 在JavaScript...

    cookiejs一个用于处理浏览器cookie的简单轻量级JavaScriptAPI

    Cookie.js是一个专为JavaScript开发者设计的轻量级库,主要用于管理和操作浏览器中的cookie。这个库的主要优点是它的简洁性和低资源占用,使得它成为处理cookie的理想选择,尤其适用于那些对性能和加载速度有较高...

    javascript小工具之——cookie操作

    这篇博客“javascript小工具之——cookie操作”很可能会探讨如何利用JavaScript进行有效的Cookie操作。 Cookie是由Web服务器发送到用户的浏览器并存储在本地的小型文本文件。它们由键值对组成,可以设置过期时间,...

    基于JavaScript的极简组件式juggle设计源码

    本项目提供一套基于JavaScript的极简组件式框架juggle的设计源码,包含108个文件,涵盖62个JavaScript文件、18个HTML文件、12个JSON文件、11个Markdown文件、1个YAML文件、1个LICENSE文件、1个PNG文件、1个vsd文件、...

    js操作cookie

    在实际的Web应用中,我们通常会在HTML中引入JavaScript脚本,然后在脚本中执行上述的Cookie操作。 总结,JavaScript操作Cookie涉及的主要知识点包括:Cookie的概念、`document.cookie`的使用、设置、读取和删除...

    javascript实现的甘特图组件

    **JavaScript实现的甘特图组件详解** 甘特图是一种常用的时间轴表示方法,它通过条形图来显示项目、进度和其他时间相关的系统组件。在软件开发中,甘特图常用于项目管理,帮助团队可视化任务的开始和结束时间,以及...

    JavaScript生成的月份组件

    6. **CSS样式**:为了使组件美观,我们需要通过JavaScript操作DOM元素的样式属性,或者使用CSS类来控制布局和视觉效果。可以使用内联样式,或者通过`document.getElementById`或`document.querySelector`选择元素并...

Global site tag (gtag.js) - Google Analytics