JS——Cookie

Posted ytraister

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS——Cookie相关的知识,希望对你有一定的参考价值。

使用Cookie

1》什么是Cookie

解释:在页面中用来保存信息的(例如:自动登录、记住用户名

特性:1)同一个网站中所有页面共享一套cookie;

   2)数量、大小有限;

   3)具有过期时间;

在js中使用cookie:即:document.cookie

注意:若要在浏览器本地查看cookie的值,需要使用ff浏览器;而其他浏览器查看cookie的话,需要搭载服务器才能。

 

2》cookie的使用

1)设置cookie

  a、格式:名字=值  (例如:‘user=George’)

  b、document.cookie设置值时,不会覆盖原有的值  即:user=George; pass=123 两个值不会覆盖

  c、可以设置它的过期时间  (用“expires=时间”的方法,需要用日期对象来配合使用)

 

<script>
  var oDate=new Date();
  oDate.setDate(oDate.getDate()+30);   //设置日期时间为当前时间的30天后
        
  document.cookie=user=George;expires=+oDate;    //js中用来设置cookie的值,其中expires表示设置的时长
  document.cookie=pass=123;

  alert(document.cookie)   //输出cookie的值  即;user=George; pass=123;
</script>

 

解释:在ff浏览器中即可输出cookie的值,其中user=George的值设置为30天的保存日期。当关闭浏览器后,所设置的cookie值中只剩下user=George,因为它的过期时间还没到(30天时间),而pass=123的值会消失

  d、封装以上代码,得出新的函数:

 1 <script>
 2   //封装设置cookie函数
 3   function setCookie(name,value,iDay)
 4     var oDate=new Date();
 5     oDate.setDate(oDate.getDate()+iDay);
 6             
 7     document.cookie=name+=+value+;expires=+oDate;
 8   
 9   setCookie(George,123,30);
10   setCookie(Rose,456,30);
11         
12   alert(document.cookie);          //设置完cookie的值,输出为:George=123; Rose=456
13 </script>

解释:

第3行代码:传入三个参数(name、value、iDay),分别表示:名字、值、时间;

第4-5行代码:用日期对象来配合使用设置它的过期时间;

第7行代码:设置cookie的值(并使用过期时间方法)

 

2)读取cookie

  a.用字符串分割的方法(split)

 1 <script>
 2   //封装获取cookie函数
 3   function getCookie(name)                 //传入一个name参数
 4     var arr=document.cookie.split(;);  //结合上面的设置cookie方法,用数组split方法,拆分字符串,结果为:George=123, Rose=456
 5         //alert(arr);
 6     for(var i=0;i<arr.length;i++)
 7       var arr1=arr[i].split(=);
 8         //alert(arr1)                   //用数组split方法,拆分字符串,结果为:George,123, Rose,456
 9       if(arr1[0]==name)                 //用于判断所获取的cookie值是否与name的值相同
10         return arr1[1];                 //与name值相同,则返回arr1[1]的值
11       
12     
13     return ‘‘;                             //与name值不同,则返回空值
14   
15   alert(getCookie(George));               //输出:123
16 </script>

解释:

 

3)删除cookie

  a.改变过期时间(把iDay的值设置为-1,让它显示昨天过期)

1 <script>
2   //封装删除cookie函数
3   function removeCookie(name)
4     setCookie(name,1,-1);                 //调用setCookie函数,把setCookie中的oDate设为-1,让它昨天过期,即达到删除cookie的目的
5   
6   alert(getCookie(George));                 //删除前,输出:123
7   removeCookie(George);
8   alert(getCookie(George));                 //删除后,输出:  (空值)
9 </script>

 

其他详细了解可以参考菜鸟教程:https://www.runoob.com/js/js-cookies.html

以上是关于JS——Cookie的主要内容,如果未能解决你的问题,请参考以下文章

C#-WebForm-★内置对象简介★Request-获取请求对象Response相应请求对象Session全局变量(私有)Cookie全局变量(私有)Application全局公共变量Vi(代码片段

Js操作cookie的代码 要求:js对cookie设置,添加,删除 js代码简单点 ··偶JS不太好

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程

cookie控制一个IP 24小时只执行一次JS退出弹窗代码