概念不说,直接来看看如何进行cookie的设置等操作
有个问题提前说明:
本地测试cookie的时候,
直接打开网页然后测试,对于chrome 和 opera 浏览器是不可以的,
也就是说返回值都是空,但是可以使用 firefox 和 IE 浏览器,这两个是可以的;
如果非得在Chrome或者opera下测试,那么换一种打开文件的方式,
将文件放到服务器下,然后打开就可以了,也就是服务器环境下 chrome 和opera 是可以测试 cookie 的;
为了演示方便,我们在 opera 浏览器下或者 IE 浏览器下进行演示
我们先来看看简单的设置:
document.cookie="name="+"哈哈哈";
这样就可以设置一个简单的cookie了,怎么查看呢?
alert( document.cookie ); 就能看到了;
一般情况下cookie不会像上面那样只有一个 name="哈哈哈" ,还会加上过期时间,
下面我们利用函数的形式写一个设置cookie的操作;
function
setCookie
(name,value,exday){
//name 是用户名标识
//value 是具体的用户名
//exday 是几天过期
var
d
=
new
Date
();
//获取当前时间
var
now
=
d
.
getTime
();
//获取当前时间的时间戳
var
gap
=
exday
*
24
*
3600
*
1000
;
//过期的时间长度
d
.
setTime
(
now
+
gap
);
//过期的具体时间的时间戳
var
expires
=
"expires="
+
d
.
toGMTString
();
//将时间戳转化为GMT格式
document.cookie
=
name
+
"="
+
value
+
"; "
+
expires
;
//设置cookie
}
这样我们cookie设置函数就完成了,现在,比如说:我想设置这样一个cookie
username=“我是登录用户”过期时间是三天;
那么我们这样就可以了:
setCookie("username","我是登陆用户",3);
上面只是设置了 cookie ,但是我们的工作不能只是设置一下就结束了,我们还得应用到我们的网站上,
我们来获取一下cookie:
function
getCookie
(name){ //获取用户名信息函数
var
name
=
name
+
"="
;
var
data_arr
=
document.cookie.
split
(
';'
);
for
(
var
i
=
0
;
i
<
data_arr
.length;
i
++
) {
var
str
=
data_arr
[
i
].
trim
();
if
(
str
.
indexOf
(
name
)
==
0
) {
return
str
.
substring
(
name
.length,
c
.length);
}
}
return
""
;
}
比如我们要获取 username 的值; var temp=getCookie( username ) 即可;
获取之后即可进行操作了;