美文网首页
js操作cookie

js操作cookie

作者: 小i柠檬 | 来源:发表于2016-11-21 20:28 被阅读0次
什么是cookie ?

先上图:

cookie

简单而言,Cookie 是在 HTTP 协议下,服务器或脚本可以维护客户工作站上信息的一种方式。Cookie 是由 Web 服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web 站点都可以访问 Cookie 信息 。
目前,cookie有些是临时的,有些是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间,一旦超过规定的时间,该 Cookie 就会被系统清除。
在前端开发当中我们可以使用js去操作浏览器中的cookie。首先我们先用js设置cookie,代码如下:

  function setCookie(name,value,expiredays)
  {
      var exdate=new Date()
      exdate.setDate(exdate.getDate()+expiredays)
      document.cookie=name+ "=" +escape(value)+
      ((expiredays==null) ? "" : ";
      expires="+exdate.toGMTString())
}

运行上面方法,浏览器就保存了你所设置的键和对应的值和过期时间,下面我们在用代码读取刚才设置的cookie:

    function getCookie(name)
    {
      if (document.cookie.length>0)
      {
          c_start=document.cookie.indexOf(name + "=")
      if (c_start!=-1)
        { 
            c_start=c_start + c_name.length+1 
            c_end=document.cookie.indexOf(";",c_start)
            if (c_end==-1) c_end=document.cookie.length
              return unescape(document.cookie.substring(c_start,c_end));
        } 
      }
    return ""
  }

运行上面方法你就可以得到你开始所设的cookie值了。能设置,就要能删除,接下来我们就来删除cookie:

    function delCookie(name)
      {
          var exp = new Date();
          exp.setTime(exp.getTime() - 1);
          var cval=getCookie(name);
          if(cval!=null)
            document.cookie= name + "="+cval+";expires="+exp.toGMTString();
    }

删除原理就是将对应cookie过期时间设为当前时间上一秒。也许有人会问把对应的cookie设为null不就行了吗?这两种方法是不一样的,将过期时间设为上一秒,浏览器会删除对应的键和值,但当设为null时,浏览器会继续保存这个键,值为空而已。

尽管cookie提供了很大的方便,但是随着科技的发展,cookie变成了泄漏用户敏感信息的源头。用户在使用浏览器进行相关操作时,存储了大量的cookie,黑客通过Cookie 窃取和篡改,来获取用户的上网习惯,甚至一些支付密码等重要信息。也许感觉没什么重要信息,但是你会发现你浏览的网页跳出与你曾经浏览过内容相关的广告,这是国内比较常用的手法。

注:如您不会运行上面的方法,请出门左转!

相关文章

网友评论

      本文标题:js操作cookie

      本文链接:https://www.haomeiwen.com/subject/ljgupttx.html