1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > javascript针对cookie的基本操作实例详解【javascript】

javascript针对cookie的基本操作实例详解【javascript】

时间:2021-01-17 17:24:54

相关推荐

javascript针对cookie的基本操作实例详解【javascript】

web前端|js教程

javascript,cookie,基本操作,javascript操作cookie

web前端-js教程

单页面小说源码,ubuntu安装静态分析,爬虫存在的价值,php isjson,长沙seo流量lzw

js被C#、JAVA等开发者视为声名狼藉的附属编程语言是有道理的,比如说,对cookie的操作。js就没有一套类似C#的现成处理方案,而只能由你自己去完成。下面我就将自己学习的用面向对象的思想对cookie进行处理的学习笔记整理一下,以飨读者。

居家养老系统源码,ubuntu16优化,ipad上运行爬虫,php红包控制,seo排名中心lzw

cookie的常见操作分析:

sockettool源码,vscode调用无参的方法,网络设置 ubuntu,单个tomcat并发支持,外国爬虫大神,php抓取淘宝商品信息,服务行业seo优化策划lzw

(1)设置cookie 包括了添加和修改功能,事实上如果原有cookie 名称已经存在,那么添加此cookie 就相当于修改了此cookie。在设置cookie 的时候可能还会有一些可选项,用于指cookie 的声明周期、访问路径以及访问域和安全性等等。为了让cookie 中能够存储中文,该方法中还需要对存储的值进行编码。

(2)取一个cookie的值,该方法接收cookie 名称为参数,返回该cookie 的值。因为在存储该值的时候已经进行了编码,所以取值时应该能自动解码,然后返回(这里其实可以自己设置返回什么,而不单单是”取一个值”而已)。

(3)删除一个cookie,删除cookie 只需将一个cookie 的过期事件设置为过去的一个时间即可,它接收一个cookie 的名称为参数,从而删除此cookie(我的实现还将cookie名称设置为空,这是考虑到今后可能会有多个cookie要设置的时候,名称发生冲突的情况)。

(4)其他 (这里让读者自己去考虑其他的操作,不赘述了。)

好的,你一定又猜到我要说什么了,对头,code is cheap.看代码:

/* 对cookie的操作 *///创建var Cookie = new Object();//设置(修改)属性和方法Cookie.setCookie = function(sName, sValue, oExpires, sPath, sDomain, bSecure) { var sCookie = sName + "=" + escape(sValue); // 名称和值 if (oExpires) { sCookie += "; expires=" + oExpires.toGMTString(); // 过期时间 } if (sPath) { sCookie += "; path=" + sPath; // 访问路径 } if (sDomain) { sCookie += "; domain=" + sDomain; // 访问路径 } if (bSecure) { sCookie += "; true"; // 安全性 } document.cookie = sCookie;}//获取Cookie.getCookie = function(sName) { var cookieArray = document.cookie.split(";"); //得到分割的名值对 var tempCookie = new Object(); for (var i = 0; i < cookieArray.length; i++) { var tempArr = cookieArray[i].split("="); //将名称和值分开 if (tempArr[0] == sName) { //如果是指定的cookie,返回它的值return unescape(tempArr[1]); } } return "Theres no such a cookie name!";}//删除Cookie.deleteCookie = function(sName, sPath, sDomain) { var sCookie = sName + "=; expires=" + (new Date(0)).toGMTString(); // 设置名称为空,过期时间为0,也可以设置过期时间为负数 (var sCookie = sName + "=; expires=-1"; ) if (sPath) { sCookie += "; path=" + sPath; } if (sDomain) { sCookie += "; domain=" + sDomain; } document.cookie = sCookie;}function test() { Cookie.setCookie("test", "cookieTest"); alert(Cookie.getCookie("test")); alert(Cookie.getCookie("test2")); // ??? Cookie.deleteCookie("test"); alert(Cookie.getCookie("test"));}

补充:javascript 操作cookie类

String.prototype.Trim = function(){ return this.replace(/^\s+/g,"").replace(/\s+$/g,"");}function JSCookie(){ this.GetCookie = function(key) { var cookie = document.cookie; var cookieArray = cookie.split(;); var getvalue = ""; for(var i = 0;i<cookieArray.length;i++) {if(cookieArray[i].Trim().substr(0,key.length) == key){ getvalue = cookieArray[i].Trim().substr(key.length + 1); break;} } return getvalue; }; this.GetChild = function(cookiekey,childkey) { var child = this.GetCookie(cookiekey); var childs = child.split(&); var getvalue = ""; for(var i = 0;i < childs.length;i++) {if(childs[i].Trim().substr(0,childkey.length) == childkey){ getvalue = childs[i].Trim().substr(childkey.length + 1); break;} } return getvalue; }; this.SetCookie = function(key,value,expire,domain,path) { var cookie = ""; if(key != null && value != null)cookie += key + "=" + value + ";"; if(expire != null)cookie += "expires=" + expire.toGMTString() + ";"; if(domain != null)cookie += "domain=" + domain + ";"; if(path != null)cookie += "path=" + path + ";"; document.cookie = cookie; }; this.Expire = function(key) { expire_time = new Date(); expire_time.setFullYear(expire_time.getFullYear() - 1); var cookie = " " + key + "=e;expires=" + expire_time + ";" document.cookie = cookie; }}

用法:

A、设置cookie

var cookie = new JSCookie();//普通设置cookie .SetCookie("key1","val1");//过期时间为一年var expire_time = new Date();expire_time.setFullYear(expire_time.getFullYear() + 1);cookie .SetCookie("key2","val2",expire_time);//设置域及路径,带过期时间cookie .SetCookie("key3","val3",expire_time,".","/");//设置带子键的cookie,子键分别是k1,k2,k3cookie .SetCookie("key4","k1=1&k2=2&k3=3");

B、读取cookie

//简单获取cookie .GetCookie("key1");cookie .GetCookie("key2");cookie .GetCookie("key3");cookie .GetCookie("key4");//获取key4的子键k1值cookie .GetChild("key4","k1");

C、删除

cookie .Expire("key1");cookie .Expire("key2");cookie .Expire("key3");cookie .Expire("key4");

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。