欢迎来到天天文库
浏览记录
ID:12607792
大小:39.00 KB
页数:5页
时间:2018-07-18
《javascript中的cookie》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、CookieCookie基础知识我们已经知道,在document对象中有一个cookie属性。但是Cookie又是什么?“某些Web站点在您的硬盘上用很小的文本文件存储了一些信息,这些文件就称为Cookie。”——MSIE帮助。一般来说,Cookies是CGI或类似,比HTML高级的文件、程序等创建的,但是JavaScript也提供了对Cookies的很全面的访问权利。在继续之前,我们先要学一学Cookie的基本知识。每个Cookie都是这样的:cookie名=cookie值;cookie本身仅仅是一个字符串,是一组名值对;多组名值对用
2、分号加空格分隔!"cookie名"的限制与JavaScript的命名限制大同小异,少了“不能用JavaScript关键字”,多了“只能用可以用在URL编码中的字符”。后者比较难懂,但是只要你只用字母和数字命名,就完全没有问题了。“值”的要求也是“只能用可以用在URL编码中的字符”。每个Cookie都有失效日期,一旦电脑的时钟过了失效日期,这个Cookie就会被删掉。我们不能直接删掉一个Cookie,但是可以用设定失效日期早于现在时刻的方法来间接删掉它。每个网页,或者说每个站点,都有它自己的Cookies,这些Cookies只能由这个站点
3、下的网页来访问,来自其他站点或同一站点下未经授权的区域的网页,是不能访问的。每一“组”Cookies有规定的总大小(大约2KB每“组”),一超过最大总大小,则最早失效的Cookie先被删除,来让新的Cookie“安家”。访问Cookiedocument.write(document.cookie);//输出类似"name1=value1;name2=value2;name3=value3"的字符串document.write(typeofdocument.cookie);//cookie仅仅是个字符串但这样获取到的是一堆混乱的字符串,必
4、须对其进行处理才能知道它的含义!在类似ASP或PHP这样的服务器端脚本中,往往设置cookie十分简单//ASPresponse.cookies("cookieName")="cookieValue"//PHPsetcookie("cookieName","cookieValue");解析Cookie名值对方案一:直接截取字符串functiongetCookie(cookieName){varstart=document.cookie.indexOf(cookieName+"=");if(start==-1){return"";}sta
5、rt=start+cookieName.length+1;varend=document.cookie.indexOf(";",start);if(end=-1){end=document.cookie.length;}returndocument.cookie.substring(start,end);}方案二:将Cookie拆分为数组,通过遍历取得functiongetCookie(cookieName){varcookies=document.cookie.split(";");//一个分号加一个空格if(!cookies.len
6、gth){return"";}varpair=["",""];for(vari=0;i7、exec(document.cookie);returnarr?arr[1]:"";}设置Cookie一个Cookie包含以下信息:·Cookie名称,Cookie名称必须使用只能用在URL中的字符,一般用字母及数字·Cookie值,Cookie值同样也只能使用可以用在URL中的字符,一般需要在设置Cookie值时对其使用encodeURI方法进行转义·Expires,过期日期,一个GMT格式的时间,当过了这个日期之后,浏览器就会将这个Cookie删除掉,当不设置这个的时候,Cookie在浏览器关闭后消失·Path,一个路径,在这个路径8、下面的页面才可以访问该Cookie,一般设为“/”,以表示同一个站点的所有页面都可以访问这个Cookie·Domain,子域,指定在该子域下才可以访问Cookie,例如要让Cookie在bbs.x-life
7、exec(document.cookie);returnarr?arr[1]:"";}设置Cookie一个Cookie包含以下信息:·Cookie名称,Cookie名称必须使用只能用在URL中的字符,一般用字母及数字·Cookie值,Cookie值同样也只能使用可以用在URL中的字符,一般需要在设置Cookie值时对其使用encodeURI方法进行转义·Expires,过期日期,一个GMT格式的时间,当过了这个日期之后,浏览器就会将这个Cookie删除掉,当不设置这个的时候,Cookie在浏览器关闭后消失·Path,一个路径,在这个路径
8、下面的页面才可以访问该Cookie,一般设为“/”,以表示同一个站点的所有页面都可以访问这个Cookie·Domain,子域,指定在该子域下才可以访问Cookie,例如要让Cookie在bbs.x-life
此文档下载收益归作者所有