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);
       }
    }
}

 

 

此處僅做交流學習,版權歸原做者全部

相關文章
相關標籤/搜索