JavaScript中Cookie的简单使用
jopen
10年前
通常情况下,网站设计者是借助后台数据库来实现以上目的的。当用户第一次访问该网站时,网站在数据库中建立一个新的ID,并把ID通过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,得到用户的来访次数或判断用户是新用户还是老用户。
服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。Cookies最典型的应用是判定注册用户是 否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。另一个重要应用场合是“购 物车”之类处理。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息,
//创建一个Cookie function createCookie(userName,password){ var date=new Date(); date.setTime(date.getTime()+60*1000*60*24); //保存一天时间 document.cookie="userName="+escape(userName)+";expires="+date.toUTCString(); //escape函数把String作了编码,setTime就是Cookie的存活期 document.cookie="password="+escape(password)+";expires="+date.toUTCString(); alert(document.cookie); } //获得Cookie数据 function getCookie(value){ var cookieString = document.cookie; var start = cookieString.indexOf(value+"="); //找出value的位置 if(start==-1) return null; start+=value.length+1; //value的长度+1,也就是=后面的位置 var end=cookieString.indexOf(";",start); //valuer的长度+1找;的位置 if(end==-1) //也就是说,只有一个Cookie所以没有; return cookieString.substring(start); return cookieString.substring(start, end); } //删除Cookie function delCookie(){ var date=new Date(); var user=getCookie("userName"); var pwd=getCookie("password"); date.setTime(date.getTime()-1); //把当前时间-1毫秒,与现在系统的时间一减,成了负值,那么这个Cookie存放在系统里就过期,就会被销毁 document.cookie="userName="+escape(user)+";"+"expires="+date.toUTCString(); document.cookie="password="+escape(pwd)+";"+"expires="+date.toUTCString(); }