




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JS操作Cookies(2009-03-05 13:03:39)一直都是简单去js实现cookie的一些操作,今天把js对cookie操作系统的整理了一遍,包括:js读取cookie,js添加cookie,js删除cookie,示例如下:cookie处理函数练习(为我所写,非我所想:改善面向对象)function addCookie(objName,objValue,objHours)/添加cookievar str = objName + = + escape(objValue);if(objHours 0)/为0时不设定过期时间,浏览器关闭时cookie自动消失var date = new Date();var ms = objHours*3600*1000;date.setTime(date.getTime() + ms);str += ; expires= + date.toGMTString();document.cookie = str;alert(添加cookie成功);function getCookie(objName)/获取指定名称的cookie的值var arrStr = document.cookie.split(; );for(var i = 0;i arrStr.length;i +)var temp = arrStri.split(=);if(temp0 = objName) return unescape(temp1);function delCookie(name)/为了删除指定名称的cookie,可以将其过期时间设定为一个过去的时间var date = new Date();date.setTime(date.getTime() - 10000);document.cookie = name + =a; expires= + date.toGMTString();/读取出来所有的cookie字筗串了function allCookie()/读取所有保存的cookie字符串var str = document.cookie;if(str = )str = 没有保存任何cookie;alert(str);function $(m,n)return document.formsm.elementsn.value;function add_()var cookie_name = $(myform,cookie_name);var cookie_value = $(myform,cookie_value);var cookie_expireHours = $(myform,cookie_expiresHours);addCookie(cookie_name,cookie_value,cookie_expireHours);function get_()var cookie_name = $(myform,cookie_name);var cookie_value = getCookie(cookie_name);alert(cookie_value);function del_()var cookie_name = $(myform,cookie_name);delCookie(cookie_name);alert(删除成功);/添加cookiefunction addCookie(name,value,expires,path,domain)var str=name+=+escape(value);if(expires!=)var date=new Date();date.setTime(date.getTime()+expires*24*3600*1000);/expires单位为天str+=;expires=+date.toGMTString();if(path!=)str+=;path=+path;/指定可访问cookie的目录if(domain!=)str+=;domain=+domain;/指定可访问cookie的域document.cookie=str;/取得cookiefunction getCookie(name)var str=document.cookie.split(;)for(var i=0;istr.length;i+)var str2=stri.split(”=”);if(str20=name)return unescape(str21);/删除cookiefunction delCookie(name)var date=new Date();date.setTime(date.getTime()-10000);document.cookie=name+”=n;expire=”+date.toGMTString();下面讲的经个人觉得比较好哦!我们当然还得介绍cookie的四个属性。这些属性用下面的格式加到字符串值后面:name=;expires=;domain=;path=;secure名称=;expires=;domain=;path=;安全,和应当用对应的值替换。应当使用GMT格式,可以使用Javascript脚本语言的日期类Date的.toGMTString()方法得到这一GMT格式的日期值。方括号代表这项是可选的。比如在;secure两边的方括号代表要想把cookie设置成安全的,就需要把;secure加到cookie字符串值的后面。如果;secure没有加到cookie字符串后面,那么这个cookie就是不安全的。不要把尖括号和方括号加到cookie里(除非它们是某些值的内容)。设置属性时,不限属性,可以用任何顺序设置。下面是一个例子,在这个例子里,cookieusername被设置成在15分钟之后过期,可以被服务器上的所有目录访问,可以被域里的所有服务器访问,安全状态为安全。/Date()的构造器设置以毫秒为单位/.getTime()方法返回时间,单位为毫秒/所以要设置15分钟到期,要用60000毫秒乘15分钟varexpiration=newDate(newDate().getTime()+15*60000);document.cookie=username=+escape(form.username.value)+;expires=+expiration.toGMTString()+;path=+/+;_domain=++;secure;/我们定义一个函数,用来读取特定的cookie值。得到指定名字的cookie对象哦!functiongetCookie(cookie_name)varallcookies=document.cookie;varcookie_pos=allcookies.indexOf(cookie_name);/如果找到了索引,就代表cookie存在,/反之,就说明不存在。if(cookie_pos!=-1)/把cookie_pos放在值的开始,只要给值加1即可。cookie_pos+=cookie_name.length+1;varcookie_end=allcookies.indexOf(;,cookie_pos);if(cookie_end=-1)cookie_end=allcookies.length;varvalue=unescape(allcookies.substring(cookie_pos,cookie_end);returnvalue;/调用函数varcookie_val=getCookie(username);3.为什么我设置了cookie的过期时间如果为关闭的时候就自动清空的话怎么没用呢?来研究一下JSP操纵cookie?Cookie概念:Cookie的格式实际上是一段纯文本信息,由服务器随着网页一起发送到客户端,并保存在客户端硬盘中指定的目录的.大家都传说Cookie会造成严重的安全威胁什么的,其实不是这么回事情.服务器读取Cookie的时候,只能够读取到这个服务器相关的信息.而且,浏览器一般只允许存放300个Cookie,每个站点最多存放20个,而且,每个Cookie的大小现在在4K,根本不会占用多少空间.并且,Cookie是有时效性质的.例如,设置了Cookie的存活时间为1分钟,则一分钟后这个Cookie就会被浏览器删除Cookie版本:目前有两个版本:版本0:由Netscape公司制定的,也被几乎所有的浏览器支持.Java中为了保持兼容性,目前只支持到版本0,Cookie的内容中不能空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,符号,冒号,分号。版本1:根据RFC2109文档制定的.放宽了很多限制.上面所限制的字符都可以使用.但为了保持兼容性,应该尽量避免使用这些特殊字符.JSP中对Cookie的操作:类型方法名方法解释StringgetComment()返回cookie中注释,如果没有注释的话将返回空值.StringgetDomain()返回cookie中Cookie适用的域名.使用getDomain()方法可以指示浏览器把Cookie返回给同一域内的其他服务器,而通常 Cookie只返回给与发送它的服务器名字完全相同的服务器。注意域名必须以点开始intgetMaxAge()返回Cookie过期之前的最大时间,以秒计算。StringgetName()返回Cookie的名字StringgetPath()返回Cookie适用的路径。如果不指定路径,Cookie将返回给当前页面所在目录及其子目录下的所有页面。booleangetSecure()如果浏览器通过安全协议发送cookies将返回true值,如果浏览器使用标准协议则返回false值。StringgetValue()返回Cookie的值。笔者也将在后面详细介绍getValue/setVgetVersion()返回Cookie所遵从的协议版本。voidsetComment(Stringpurpose)设置cookie中注释voidsetDomain(Stringpattern)设置cookie中Cookie适用的域名voidsetMaxAge(intexpiry)以秒计算,设置Cookie过期时间。voidsetPath(Stringuri)指定Cookie适用的路径。voidsetSecure(booleanflag)指出浏览器使用的安全协议,例如HTTPS或SSL。voidsetValue(StringnewValue)cookie创建后设置一个新的值。voidsetVersion(intv)设置Cookie所遵从的协议版本一个简单的例子1.写入Cookie-writecookie.jsp-2.读取Cookie.jsp-readcookie.jsp-%Cookiecookies=request.getCookies();/将适用目录下所有Cookie读入并存入cookies数组中CookiesCookie=null;Stringsname=null;Stringname=null;if(cookies=null)/如果没
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025国际关系学院应届毕业生招聘1人(第2号)考前自测高频考点模拟试题及答案详解(必刷)
- 2025广西平果市农业机械化服务中心城镇公益性岗位人员招聘1人模拟试卷及一套参考答案详解
- 2025广东广州市中级人民法院招聘劳动合同制审判辅助人员模拟试卷及答案详解(必刷)
- 2025甘肃定西市人力资源有限公司招聘9人模拟试卷及完整答案详解一套
- 2025贵州黔东南州镇远县青溪司法所招聘1人模拟试卷及完整答案详解一套
- 2025年春季中国电子校园招聘模拟试卷及完整答案详解一套
- 2025辽宁盘锦建设投资有限责任公司招聘工作人员和模拟试卷完整参考答案详解
- 2025贵州三穗县第七批城镇公益性岗位招聘15人模拟试卷及一套参考答案详解
- 2025江苏连云港市灌南县招聘事业单位人员43人考前自测高频考点模拟试题及完整答案详解1套
- 班组安全培训活动记录课件
- 零星维修工程施工组织设计方案方案
- 2025年汽车驾驶员(技师)考试试题及答案(含答案)
- 2025大连国际机场招聘25人笔试历年参考题库附带答案详解
- 2025年浙江铁塔招聘笔试备考题库(带答案详解)
- 2025年上海市(秋季)高考语文真题详解
- 《秘书文档管理第三版》课件第七章
- 电力工程电缆设计课件
- 施工班组驻地管理制度
- 城投公司成本控制管理制度
- 中国磷化工行业市场规模及发展前景研究报告(智研咨询)
- 万亨工业科技(台州)股份有限公司年产500万套逆变器及配件、800万套新能源汽车控制器配件技改项目环评报告
评论
0/150
提交评论