Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该Cookie给服务器(前提是浏览器设置为启用cookie)。Cookie名称和值可以由服务器端开发自己定义,这样服务器可以知道该用户是否是合法用户以及是否需要重新登录等,服务器可以设置或读取Cookies中包含信息,
借此维护用户跟服务器会话中的状态。
js实现的cookie的设置,获取,检测,删除,
重要位置有注释,
整个页面代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>js中cookie的操作</title>
</head>
<body>
<input type="text" id="zhi"/>
<input type="button" id="btn" value="点击"/>
<input type="button" id="del" value="删除"/>
<script>
//把通过id获取对象 封装了为一个方法
function $(id)
{
return document.getElementById(id);
}
//在点击的时候 设置cookie
$('btn').οnclick=function(){
var zhi=$('zhi').value;
//判断输入框是否有值
if(zhi!=''){
setCookie("name",zhi,365);
$("zhi").value="";
}else{
var user=getCookie("name");
if (user!="")
{
alert("设置的cookie是:" + user);
}
}
}
//在点击的时候 删除cookie
$('del').οnclick=function(){
if(confirm('删除cookie')){
delCookie('name');
alert('已删除cookie');
}else{
return "";
}
}
//设置一个临时会话cookie
function setCookie(cname,cvalue,exdays)
{
var d = new Date();
d.setTime(d.getTime()+(exdays*24*60*60*1000));
var expires = "expires="+d.toGMTString();
var path=+"path=/";//cookie储存路径在根目录 //通常如果不指定 会默认储存在当前目录中
document.cookie = cname + "=" + cvalue + "; " + expires + ";" + path;
}
//获取设置的会话cookie
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是否设置
function checkCookie()
{
var user=getCookie("name");
if (user!="")
{
alert("设置的cookie是:" + user);
}
else
{
user = prompt("Please enter your name:","");
if (user!="" && user!=null)
{
setCookie("name",user,365);
}
}
}
//删除cookie
function delCookie(name)
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);//设置过期时间
var cval=getCookie(name);//获取cookie的值
if(cval!=null){
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
}
</script>
</body>
</html>