每个cookie都是一个名/值对
设置cookie
每个cookie都是一个名/值对,可以把下面这样一个字符串赋值给document.cookie:
document.cookie="userId=828";
若是要一次存储多个名/值对,可以运用分号加空格(; )离隔,例如:
document.cookie="userId=828; userName=hulk";
在cookie的名或值中不能运用分号(;)、逗号(,)、等号(=)以及空格。在cookie的名中做到这点很简单,但要保管的值是不确定的。如何来存 储这些值呢?办法是用escape()函数进行编码,它能将一些特殊符号运用十六进制表明,例如空格将会编码为“20%”,然后可以存储于cookie值 中,并且运用此种计划还可以防止中文乱码的呈现。例如:
document.cookie="str="+escape("I love ajax");
相当于:
document.cookie="str=I%20love%20ajax";
当运用escape()编码后,在取出值今后需求运用unescape()进行解码才干得到本来的cookie值,这在前面曾经引见过。
虽然document.cookie看上去就像一个特点,可以赋异样的值。但它和普通的特点不一样,改动它的赋值并不意味着丧失本来的值,例如接连履行下面两条句子:
document.cookie="userId=828";
document.cookie="userName=hulk";
这时浏览器将保护两个cookie,分别是userId和userName,因而给document.cookie赋值更像履行相似这样的句子:
document.addcookie("userId=828");
document.addcookie("userName=hulk");
事实上,浏览器就是依照这样的办法来设置cookie的,若是要改动一个cookie的值,只需从头赋值,例如:
document.cookie="userId=929";
这样就将名为userId的cookie值设置为了929。
获取cookie的值
下面引见如何获取cookie的值。cookie的值可以由document.cookie直接取得:
var strcookie=document.cookie;
这将取得以分号离隔的多个名/值对所组成的字符串,这些名/值对包罗了该域名下的一切cookie。例如:
图7.1显现了输出的cookie值。由此可见,只可以一次获取一切的cookie值,而不能指定cookie称号来取得指定的值,这正是处置 cookie值最费事的一部分。用户必须本人剖析这个字符串,来获取指定的cookie值,例如,要获取userId的值,可以这样完结:
这样就得到了单个cookie的值
用相似的办法,可以获取一个或多个cookie的值,其主要的技巧仍然是字符串和数组的相关操作。
给cookie设置停止日期
到现在为止,一切的cookie都是单会话cookie,即浏览器封闭后这些cookie将会丧失,事实上这些cookie仅仅是存储在内存中,而没有树立相应的硬盘文件。
在实践开发中,cookie常常需求长工夫保管,例如保管用户登录的状况。这可以用下面的选项来完结:
document.cookie="userId=828; expires=GMT_String";
其间GMT_String是以GMT格局表明的工夫字符串,这条句子就是将userId这个cookie设置为GMT_String表明的过期工夫,超越这个工夫,cookie将不见,不行拜访。例如:若是要将cookie设置为10天后过期,可以这样完结:
删去cookie
为了删去一个cookie,可以将其过期工夫设定为一个曩昔的工夫,例如:
指定可拜访cookie的途径
默许情况下,若是在某个页面创立了一个cookie,那么该页面地点目录中的其他页面也可以拜访该cookie。若是这个目录下还有子目录,则在子目录中也可以拜访。例如在www.xxxx.com/html/a.html中所创立的cookie,可以被www.xxxx.com/html/b.html或www.xxx.com/ html/ some/c.html所拜访,但不能被www.xxxx.com/d.html拜访。
为了操控cookie可以拜访的目录,需求运用path参数设置cookie,语法如下:
document.cookie="name=value; path=cookieDir";
其间cookieDir表明可拜访cookie的目录。例如:
document.cookie="userId=320; path=/shop";
就表明当时cookie仅能在shop目录下运用。
若是要使cookie在整个网站下可用,可以将cookie_dir指定为根目录,例如:
document.cookie="userId=320; path=/";
指定可拜访cookie的主机名
和途径相似,主机名是指同一个域下的异样主机,例如:www.google.com和gmail.google.com就是两个异样的主机名。默许情况下,一个主机中创立的cookie在另一个主机下是不能被拜访的,但可以经过domain参数来完结对其的操控,其语法格局为:
document.cookie="name=value; domain=cookieDomain";
以google为例,要完结跨主机拜访,可以写为:
document.cookie="name=value;domain=.google.com";
这样,一切google.com下的主机都可以拜访该cookie。
归纳示例:结构通用的cookie处置函数
cookie的处置进程比较复杂,并具有必定的相似性。因而可以界说几个函数来完结cookie的通用操作,然后完结代码的复用。下面列出了常用的cookie操作及其函数完结。
1.增加一个cookie:addcookie(name,value,expireHours)
该函数接纳3个参数:cookie称号,cookie值,以及在多少小时后过期。这里约好expireHours为0时不设定过期工夫,即当浏览器封闭时cookie主动不见。该函数完结如下:
2.获取指定称号的cookie值:getcookie(name)
该函数回来称号为name的cookie值,若是不存在则回来空,其完结如下:
3.删去指定称号的cookie:deletecookie(name)
该函数可以删去指定称号的cookie,其完结如下:
也可以用另一种网上撒播的:
- 1PHP/MYSQL 查询大数据/遍历表
- 2301重定向将404错误转化为网站外链
- 3企业为什么偏爱须要专业的网站构造单位做官方网站呢?
- 4P2P网贷的营销战略特点
- 5网站制作如何设计网站
- 6如何玩转数据库设计
- 7解决玩具租赁行业痛点
- 8网站优化的注意事项
- 9常见的 Android 新手误区
- 10久途愿景
- 11php衔接到MySQL数据库效劳器时三种首要的API:mysql,mysqli,pdo差异及联络
- 12玩具租赁商城系统需求5
- 13久途教你怎么样经营自己的网站
- 14网站运维的小细节和操作
- 15关于编码最佳应用实践
- 16PHP/MYSQL 查询大数据
- 17房地产行业微信营销方案3
- 18p2p网贷系统可分为三部分
- 19网站制作绝对不可以犯的编程错误2
- 20企业为啥要求权威的网站维护单位做官方网站呢?
- 21玩具租赁商城系统需求7
- 22网贷平台主要运营模式主要有两类---传统P2P模式
- 23再次提及贷款风险管理
- 24企业网站的优化现状
- 25医疗设备一体化业务管理系统解决方案
- 26关于HTML5当时状况的若干关键
- 27网站建设的效果图设计不好导致的一些后果
- 28久途-网站制作流程
- 29利用构造方法实现模块的解耦
- 30魅妆社区项目开发文档
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼