井井客

搜索

[基础版]JS添加获取cookie方法

之前工作很少用到cookie,最近看了一下这方面的知识,最后还是选择先拿w3school中操作cookie的例子来练习。

[基础版]JS添加获取cookie方法

cookie相关知识

(1)cookie就是网站服务器在访问者的计算机中存储的少量数据
(2)cookie是以名值对的格式保存,中间以分号分隔
(3)cookie可以设置路径,过期时间和域名
(4)浏览器对cookie的个数限制有差异,而大小限制基本一致

  IE6.0 IE7.0/8.0 Opera FF Safari Chrome
cookie个数: 每个域为20个 每个域为50个 每个域为30个 每个域为50个 没有个数限制 每个域为53个
cookie总大小: 4095个字节 4095个字节 4096个字节 4097个字节 4097个字节 4097个字节

利用JS添加cookie

//添加cookie的函数
function setCookie(cName,cVal,expDay){
	var exDate = new Date();
	exDate.setDate(exDate.getDate() + expDay);
	document.cookie = cName+'='+escape(cVal)+((expDay==null)?'':'; expires='+exDate.toGMTString());
}

利用JS获取cookie

//获取cookie的函数
function getCookie(cName){
	if(document.cookie.length > 0){
		cStart = document.cookie.indexOf(cName+'=');
		if(cStart!= -1){
			cStart = cStart + cName.length+1;
			cEnd = document.cookie.indexOf(';',cStart);
			if(cEnd == -1) cEnd = document.cookie.length;
			return unescape(document.cookie.substring(cStart,cEnd));
		}
	}
}

在上面的两个函数中我们可以可以通过setCookie()去添加一个cookie,并且通过getCookie()返回指定名称的cookie所记录的值,但是我们还需要检查一下我们输入的名称在cookie是否存在,并且值是不是为空?再进行一些相应的操作,如:

//检测是否含有指定名称的cookie
function checkCookie(){
	yName = getCookie('useName');
	if(yName == null || yName == ''){
		yName = prompt('请输入您的姓名:','');
		if(yName!=null && yName != ''){
			setCookie('useName',yName,3);
		}
	} 
}

整体的代码可以点击这里(~~~听说标题要长长长长长~~~)来查看,我自己的感觉cookie比较好的作用也就是在页面之间传递值。
页面例子第一个就是提示输入一个值,它会被记录到cookie中,在点到下一个页面后会输出这个值。源码还是比较容易简单理解的。
包括本文标题也说了这是一个基础版的操作cookie方法。后期还会添加一些其它的进阶的文章的~

最后一个小提示,有些童鞋在本地用谷歌测试的时候,会发现cookie始终是空的,其实是因为谷歌本身浏览器的安全设置,只需要在服务器端运行就没有问题了。

文章TAG:JS

作者:井井客整理来源:互联网
本文标题:[基础版]JS添加获取cookie方法
本文链接:/c/30135.html

上一篇:如何去估值计算background百分比
下一篇:LazyLoad.js懒加载图片插件的使用方法

文章分类

相关阅读

随便看看