javascript cookie学习笔记javascript

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

回忆过去,珍惜现在,放眼未来

绿色通道:好文要顶关注我收藏该文与我联系


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值