javascript cookie学习笔记

原创 2013年12月04日 09:45:42

1、在JavaScript中可以利用cookie实现严格的跨页面全局变量
2、cookie是存于用户硬盘上的一个文件,但这个文件通常对应于一个域名,当浏览器再次访问这个域名时,便可以使用这个cookie
3、cookie可以跨越一个域名下的多个网页,但是不能跨越多个域名使用
4、cookie的名或值中不能使用分号、逗号、等号以及空格,解决这个办法使用escape()函数
document.cookie="str="+escape("i = love; you,");
alert(escape("="));
alert(escape(","));
alert(escape(";"));
alert(escape(" "));

 

优点:
1、保存用户的登陆状态
2、跟踪用户的行为(在网页上选择天气预报的城市)
3、定制页面(自己设定的网页风格——不过也可以通过server来解决)
备注:上面的方法除了第一种情况其余的都可以配合Server来解决
缺点:
1、cookie牵涉到安全问题,如果禁用那么功能就要被“删除”(可以通过使用默认值来解决)
2、cookie是和浏览器相关的,即不同的浏览器之间保存的cookie是不能相互使用的
3、cookie这个功能可能会被“禁用”

如何建立相应的硬盘文件,即把cookie保存到硬盘中?

1、给cookie设置终止日期,即将cookie保存在硬盘中
var date = new Date();
var expireDays = 10;
date.setTime(date.getTime() + expireDays*24*3600*1000);
//这里需要使用expire这个key,然后就能保存cookie,相当于这是一个关键字
document.cookie = "userId=28;userName=huangbiao;expire="+date.toGMTString();

 

2、删除cookie
var date=new Date();
//设置日期小于当前的日期
date.setTime(date.getTime()-10000);
document.cookie="userId=28;expire="date.toGMTString();

指定可访问的cookie的路径?
例如在www.xxxx.com/html/a.html中所创建的cookie,可以被www.xxxx.com/html/b.htmlwww.xxx.com/html/some/c.html所访问,但不能被www.xxxx.com/d.html访问

//表示当前cookie仅能在abc目录下使用
document.cookie="userId=32;path=/abc";
//表示在整个网站下可以使用
document.cookie="userId32;path=/";

指定可访问的cookie的主机名?
例如:www.google.com和gmail.google.com就是两个不同的主机名。默认情况下,一个主机中创建的cookie在另一个主机下是不能被访问的,但可以通过domain参数来实现对其的控制
解决办法:
//domain这个也是特殊属性,指明主机的名称
document.cookie="name=huangbiao;domain=.google.com";

//添加cookie的值
function addCookie(name,value,expireHours){
	if("" == name || null == name || undefined == name){
		alert("name is null");
		return "";
	}
	if("" == value || null == value || undefined == value){
		alert("value is null");
		return "";
	}
	var cookieString = name+"="escape(value);
	//判断是否设置过期时间
	if(expireHours>0){
		var date = new Date();
		date.setTime(date.getTime() + expireHours*3600*1000);
		cookieString = cookieString+";expire="+date.toGMTString();	
	}
	document.cookie=cookieString;
}
//得到指定cookie的值
function getCookie(name){
	var strCookie = document.cookie;
	var arrCookie = strCookie.split(";");
	for(var i = 0; i < arrCookie.length; i++){
		var arr = arrCookie[i].split("=");
		if(arr[0] == name)
			return arr[1];	
	}
	return "";	
}
//删除指定的cookie值
function deleteCookie(name){
	var date = new Date();
	date.setTime(date.getTime()-10000);
	document.cookie=name+"v;expire="+date.toGMTString();
}

 

 

javascript基础学习笔记

编者寄言:  本文主要为编者读书笔记,在文章里面很多话是掺杂了编者自己的见解,如果有哪里出现错误或者用词不严谨,请友善留言,编者会及时去更改。 本文很多地方只是简单说了一下应该注意的地方,具体代码部分...
  • u012967849
  • u012967849
  • 2016年07月20日 14:08
  • 1901

javascript学习笔记

第一章 一、JavaScript概述 JavaScript是基于对象和事件驱动的脚本语言,主要应用在客户端。 特点: 1.交互性(它可以做的就是信息的动态交互) 2.安全性(它不允许直接访问本地硬盘...
  • zhoulenihao
  • zhoulenihao
  • 2013年09月04日 23:04
  • 3974

Cookie学习笔记一:基本概念

今天通过网上的视频教程,自己学习le
  • chritina
  • chritina
  • 2014年06月21日 15:50
  • 552

JavaScript学习笔记

JavaScript学习笔记1.六种数据类型 原始类型: number string boolean null ...
  • wuya814070935
  • wuya814070935
  • 2015年08月31日 10:34
  • 910

js学习笔记(比较全)

什么是JavaScript? 1. JavaScript 是一种客户端脚本语言(脚本语言是一种轻量级的编程语言)。 2. JavaScript 通常被直接嵌入 HTML 页面。 3....
  • jiangzhongwei_
  • jiangzhongwei_
  • 2016年07月22日 20:12
  • 552

JavaScript学习笔记

JavaScript 是 Web 的编程语言。 输出文本 document.write(Date()); 改变HTML元素 我的第一个 Web 页面 我的第一个段落。 document.g...
  • linxinfa
  • linxinfa
  • 2016年06月29日 21:04
  • 299

《JavaScript语言精粹》读书笔记

一本好书,结合《JavaScript高级教程》将会组成JavaScript基础搭档。 两相结合的看了两本书,觉得应该学习精粹中的代码书写方式,有规则,而且尽量采用精华自己。毕竟,成就一门语言的,是它...
  • u011507024
  • u011507024
  • 2016年01月18日 23:51
  • 221

《Javascript权威指南》学习笔记之十六:BOM之源---BOM基本应用

、浏览历史管理 1、history对象的方法和属性 History 对象包含用户(在浏览器窗口中)访问过的 URL,是 window 对...
  • u011043843
  • u011043843
  • 2014年06月11日 13:06
  • 1265

《javascript设计模式与开发实践》阅读笔记(三)

this,call和apply2.1 thisthis指针的用法,相信在很多场合都看到过,这里也总结了几点: 作为对象的方法调用 作为普通函数调用 构造器调用 Function.prototype.c...
  • sinat_25127047
  • sinat_25127047
  • 2016年11月03日 11:41
  • 396

JavaScript :cookie初步接触使--登录

JavaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。 而Cookie是运行在客户端的,所以可以用JS来设置Cookie. 假设有这...
  • cwzhsi
  • cwzhsi
  • 2014年12月18日 13:45
  • 699
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript cookie学习笔记
举报原因:
原因补充:

(最多只允许输入30个字)