Cookie是一些数据,存储在电脑的文本文件上。当web服务器向浏览器发送web页面时,关闭连接后,服务端不会记录用户信息。
Cookie的作用就是用于解决记录客户端的用户信息:
1、在用户访问web页面时,名字可以记录在cookie中
2、当用户下一次访问该web页面时,可以在cookie中读取用户访问记录。
创建cookie
JavaScript 可以使用 document.cookie 属性来创建 、读取、及删除 cookie。
实例:
1
|
document.cookie= "username=Sherlock Holmes" ; |
读取cookie
实例:
1
|
var x = document.cookie; |
说明:document.cookie将以字符串的方式返回所有的cookie。
类型格式:cookie1=value1;cookie2=value2;cookie3=value3;
修改cookie
修改cookie类似于创建cookie。
实例:
1
|
document.cookie= "username=Sherlock Watson" |
说明:旧的cookie将被覆盖。
删除cookie
删除cookie只需要将expires参数设置为以前的时间,设置是不必指定cookie的值。
实例:
1
|
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT" ; |
设置cookie值的函数
创建一个函数来存储访问者的名字:
1
2
3
4
5
6
7
|
function setCookie(cname,cvalue,exdays) { var d = new Date(); d.setTime(d.getTime()+(exdays*24*60*60*1000)); var expires = "expires=" +d.toGMTString(); document.cookie = cname + "=" + cvalue + "; " + expires; } |
说明:以上函数中,cookie 的名称为 cname,cookie 的值为 cvalue,并设置了 cookie 的过期时间 expires。
获取cookie值的函数
创建一个函数用户返回指定cookie的值:
1
2
3
4
5
6
7
8
9
10
11
|
function getCookie(cname) { var name = cname + "=" ; var ca = document.cookie.split( ‘;‘ ); for ( var i=0; i<ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(name)==0) return c.substring(name.length,c.length); } return "" ; } |
说明:cookie明的参数为cname。
创建一个文本变量用于检索指定cookie:cname+"="。
使用分号来分割document.cookie字符串,并将分割后的字符串数组赋值给ca(ca = document.cookie.split(‘;‘))。
循环ca数组(i=0;i<a;i++),然后读取数组中的每个值,并去除前后空格(c=ca[i].trim())。
如果找到cookie(c.indexOf(name)==0),返回cookie的值(c.substring(name.length,c.length))。
如果没有找到cookie,返回“”。
检测cookie值的函数
创建一个检测cookie是否创建的函数。
如果设置了cookie,将显示一个问候信息,如果没有设置cookie,将显示一个弹窗询问访问者得名字,并调用setCookie函数将访问者得名字存储365天:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
function checkCookie() { var username=getCookie( "username" ); if (username!= "" ) { alert( "Welcome again " + username); } else { username = prompt( "Please enter your name:" , "" ); if (username!= "" && username!= null ) { setCookie( "username" ,username,365); } } } |
此处仅作交流学习,版权归原作者所有