JavaScript cookie

什么是cookie?

Cookie是一些数据,存储在电脑的文本文件上。当web服务器向浏览器发送web页面时,关闭链接后,服务端不会记录用户信息。web

Cookie的做用就是用于解决记录客户端的用户信息:数组

一、在用户访问web页面时,名字能够记录在cookie中浏览器

二、当用户下一次访问该web页面时,能够在cookie中读取用户访问记录。服务器

建立cookiecookie

JavaScript 能够使用 document.cookie 属性来建立 、读取、及删除 cookie。函数

实例:学习

1
document.cookie= "username=Sherlock Holmes" ;

读取cookiespa

实例:code

1
var  x = document.cookie;

说明:document.cookie将以字符串的方式返回全部的cookie。ip

类型格式:cookie1=value1;cookie2=value2;cookie3=value3;

修改cookie

修改cookie相似于建立cookie。

实例:

1
document.cookie= "username=Sherlock Watson"

说明:旧的cookie将被覆盖。

删除cookie

删除cookie只须要将expires参数设置为之前的时间,设置是没必要指定cookie的值。

实例:

1
document.cookie =  "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT" ;

设置cookie值的函数

建立一个函数来存储访问者的名字:

1
2
3
4
5
6
7
function  setCookie(cname,cvalue,exdays)
{
   var  d =  new  Date();
   d.setTime(d.getTime()+(exdays*24*60*60*1000));
   var  expires =  "expires=" +d.toGMTString();
   document.cookie = cname +  "="  + cvalue +  "; "  + expires;
   }

说明:以上函数中,cookie 的名称为 cname,cookie 的值为 cvalue,并设置了 cookie 的过时时间 expires。

获取cookie值的函数

建立一个函数用户返回指定cookie的值:

1
2
3
4
5
6
7
8
9
10
11
function  getCookie(cname)
{
   var  name = cname +  "=" ;
   var  ca = document.cookie.split( ';' );
   for ( var  i=0; i<ca.length; i++) 
   {
     var  c = ca[i].trim();
     if  (c.indexOf(name)==0)  return  c.substring(name.length,c.length);
   }
   return  "" ;
}

说明:cookie明的参数为cname。

建立一个文本变量用于检索指定cookie:cname+"="。

使用分号来分割document.cookie字符串,并将分割后的字符串数组赋值给ca(ca = document.cookie.split(';'))。

循环ca数组(i=0;i<a;i++),而后读取数组中的每一个值,并去除先后空格(c=ca[i].trim())。

若是找到cookie(c.indexOf(name)==0),返回cookie的值(c.substring(name.length,c.length))。

若是没有找到cookie,返回“”。

检测cookie值的函数

建立一个检测cookie是否建立的函数。

若是设置了cookie,将显示一个问候信息,若是没有设置cookie,将显示一个弹窗询问访问者得名字,并调用setCookie函数将访问者得名字存储365天:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function  checkCookie()
{
   var  username=getCookie( "username" );
   if  (username!= "" )
    {
     alert( "Welcome again "  + username);
     }
   else 
     {
     username = prompt( "Please enter your name:" , "" );
     if  (username!= ""  && username!= null )
      {
         setCookie( "username" ,username,365);
       }
    }
}

 

 

此处仅做交流学习,版权归原做者全部

相关文章
相关标签/搜索