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);
}
}
}
|
此處僅做交流學習,版權歸原做者全部