以下实例中,我们将创建 cookie 来储存访问者名称。
首先,访问者访问web页面,他将被要求填写自己的名字。该名字会存储在cookie中。访问者下次访问页面时候,会看到一个欢迎信息。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Cookie测试</title>
<script>
function setCookie(cname, cvalue, exdays) {
/*
该函数设置cookie的名称,值以及过期时间
cookie名称为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;
}
function getCookie(cname) {
/*
该函数获取cookie的值
cookie名的参数为cname
创建一个文本变量用于检索指定cookie: cname + "="
使用分号来分割cookie字符串,并将分割后的字符串赋值给数组ca
循环ca数组,读取数组中每个元素的值,并去除前后空格。 ca[i].trim();
如果找到cookie(c.indexOf(name) == 0),返回cookie的值,
如果没有找到cookie,返回""
*/
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 "";
}
function checkCookie() {
/*
检测cookie的值
*/
var username = getCookie("username");
if (username != "") {
alert("welcome again " + username);
} else {
username = prompt("please input your name: ");
if (username != "" && username != null) {
setCookie("username", username, 1);
}
}
}
</script>
</head>
<body onload="checkCookie()">
</body>
</html>