欢迎来到DIVCSS5查找CSS资料与学习DIV CSS布局技术!
  javascript中Cookie读、写与删除操作
 
  前言:
 
  在这个前端横行的时候,页面之间的交互需要数据的传递,有的数据通过url传参的形式可以很好地解决,但是对于部分需要改变的参数,你如说从页面A到页面B选择数据,然后从页面B将数据再传到页面A(典型的栗子就是收货地址的选择),针对这一块我是通过存储cookie来解决的。
 
  对于cookie的操作我给出了一些简单的封装,当然也借鉴了前辈们经验,自己糅合了一下,对于cookie的操作,无非是读写和删除,我们首先来看一下写的操作,有写才有读,进而进行删除等操作。
 
  
 
  /**
 
  *设置COOKIE
 
  *@paramname设置cookie的属性名
 
  *@paramvalue设置cookie的属性值
 
  *@paramtime设置cookie的时间
 
  */
 
  functionsetCookie(name,value,time){
 
  time=time?parseFloat(time):0;
 
  varexp=newDate();
 
  exp.setTime(exp.getTime()+time);
 
  //escape这种编码方式过时了改用encodeURIComponent
 
  //document.cookie=name+"="+escape(value)+";expires="+(time?exp.toGMTString():'session');
 
  document.cookie=name+"="+encodeURIComponent(value)+";expires="+(time?exp.toGMTString():'session');
 
  }
 
  我们有了写的操作了,那么我们再来看看对于读的操作。
 
  
 
  /**
 
  *获取cookie
 
  *@paramname
 
  *@returns{null}
 
  */
 
  functiongetCookie(name){
 
  vararr,reg=newRegExp("(^|)"+name+"=([^;]*)(;|$)");
 
  if(arr=document.cookie.match(reg))
 
  //unescape这种解码方式好像过时了,可以采用decodeURIComponent解码方式
 
  //returnunescape(arr[2]);
 
  returndecodeURIComponent(arr[2]);
 
  else
 
  returnnull;
 
  }
 
  接下就是对cookie的删除操作了,其实这个操作很简单,就是将cookie设置过期,cookie就自动失效了
 
  /**
 
  *删除cookie
 
  *@paramname
 
  */
 
  functiondelCookie(name){
 
  varexp=newDate();
 
  exp.setTime(exp.getTime()-1);
 
  varcval=getCookie(name);
 
  if(cval!=null)
 
  document.cookie=name+"="+cval+";expires="+exp.toGMTString();
 
  }
 
  以上就是对cookie的一些简单操作
 
  接下来我们来谈一点cookie的深层次的问题:cookie的跨域
 
  
 
  Js跨域同步cookie怎么实现
 
  document.cookie="name="+"value;"+"expires="+"datatime;"+"domain="+""+"path="+"/path"+";secure";
 
  /**
 
  *删除cookie
 
  *valueCookie值
 
  *expires有效期截至(单位毫秒)
 
  *path子目录
 
  *domain有效域
 
  *secure是否安全
 
  */
 
  <iframesrc='http://网站:1234/test/Index'width='100'height='100'style="display:none"></iframe>
 
  /*
 
  *原页面js里window.location="http://另外一个网站:1234/GetCookie/Index?"+document.cookie;跳到另外一个站,另外一个站获取cookie,设置cookie
 
  */
 
  varurl=window.location.toString();//获取地址
 
  varget=url.substring(url.indexOf("liuph"));//获取变量和变量值
 
  varidx=get.indexOf("=");//获取变量名长度
 
  if(idx!=-1){
 
  varname=get.substring(0,idx);//获取变量名
 
  varval=get.substring(idx+1);//获取变量值
 
  setCookie(name,val,1);//创建Cookie
 
  }
 
  上面是我整理给大家的,希望今后会对大家有帮助。


bwzzz



本文转载自中文网
 

如需转载,请注明文章出处和来源网址:http://www.divcss5.com/html/h55026.shtml