js cookie使用的问题

  今天做项目的时候,有地方需要使用到js cookie,由于我们使用的是jquery,所以下载了一个jquery.cookie.js,结果使用的时候发现存在问题,考虑可能是版本的原因,后来换了几个版本依然不行,于是直接使用原生的。那么问题来了,挖掘机。。。。不是,cookie可以成功设置,但是多次跳转页面之后获取到的cookie值并不是我之前设置的值,猜想是页面跳转的原因。百度了一下,才知道是因为设置cookie时,path和domain的设置问题。

  Cookie不仅仅有名字和值两个属性,还有域(domain),过期时间(expires),路径(path)等属性。 其中,不同的域、不同的路径下可以存在同样名字的cookie。一般我们删除cookie的方法是用一个同样名字、过期时间为过去某个时候的Cookie覆盖之。 这时就一定要搞清楚你要删除的cookie的域和路径,Cookie域和路径要一样才能被覆盖。 否则产生的效果就是那个想要被删除的Cookie具有神奇的生命力,无法被清除。

  所以,在设置cookie的时候,最好带上path和domain,设置的时候怎么写,删除的时候就怎么写,就不会出现问题了。删除cookie代码如下:

function deleteCookie(name) {
    var date=new Date();
    date.setTime(date.getTime()-10000);
    document.cookie=name+"=; expire="+date.toGMTString()+"; path=/;domain=.abc.com";
  };

posted on 2015-08-14 09:14  lchecho  阅读(253)  评论(0编辑  收藏  举报

导航