js中cookie的操作

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>



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JSON_L

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值