cookie简介
来源:互联网 发布:永硕音乐网页源码 编辑:程序博客网 时间:2024/06/05 05:13
什么是cookie
cookie是存储于访问者的计算机中的变量,每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie。可以使用JavaScript来创建个取回cookie的值。
cookie的例子:
名字 cookie
当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 "Welcome John Doe!" 的欢迎词。而名字则是从 cookie 中取回的。
密码 cookie
当访问者首次访问页面时,他或她也许会填写他/她们的密码。密码也可被存储于 cookie 中。当他们再次访问网站时,密码就会从 cookie 中取回。
日期 cookie
当访问者首次访问你的网站时,当前的日期可存储于 cookie 中。当他们再次访问网站时,他们会收到类似这样的一条消息:"Your last visit was on Tuesday August 11, 20013!"。日期也是从 cookie 中取回的。
创建和存储cookie
在这个例子中我们要创建一个存储访问者名字的 cookie。当访问者首次访问网站时,他们会被要求填写姓名。名字会存储于
cookie 中。当访问者再次访问网站时,他们就会收到欢迎词。首先,我们会创建一个可在 cookie 变量中存储访问者姓名的函
数:
function setCookie(c_name,value,expiredays){var exdate=new Date()exdate.setDate(exdate.getDate()+expiredays)document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())}
上面这个函数中的参数存有 cookie 的名称、值以及过期天数。
在上面的函数中,我们首先将天数转换为有效的日期,然后,我们将 cookie 名称、值及其过期日期存入 document.cookie
对象。
之后,我们要创建另一个函数来检查是否已设置 cookie:
function getCookie(c_name){if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } }return ""}
上面的函数首先会检查 document.cookie 对象中是否存有 cookie。假如 document.cookie 对象存有某些 cookie,那么会
继续检查我们指定的 cookie 是否已储存。如果找到了我们要的 cookie,就返回值,否则返回空字符串。
最后,我们要创建一个函数,这个函数的作用是:如果 cookie 已设置,则显示欢迎词,否则显示提示框来要求用户输入名
字。
function checkCookie(){username=getCookie('username')if (username!=null && username!="") {alert('Welcome again '+username+'!')}else { username=prompt('Please enter your name:',"") if (username!=null && username!="") { setCookie('username',username,365) } }}
这是所有的代码:
<html><head><script type="text/javascript">function getCookie(c_name){if (document.cookie.length>0) { c_start=document.cookie.indexOf(c_name + "=") if (c_start!=-1) { c_start=c_start + c_name.length+1 c_end=document.cookie.indexOf(";",c_start) if (c_end==-1) c_end=document.cookie.length return unescape(document.cookie.substring(c_start,c_end)) } }return ""}function setCookie(c_name,value,expiredays){var exdate=new Date()exdate.setDate(exdate.getDate()+expiredays)document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())}function checkCookie(){username=getCookie('username')if (username!=null && username!="") {alert('Welcome again '+username+'!')}else { username=prompt('Please enter your name:',"") if (username!=null && username!="") { setCookie('username',username,365) } }}</script></head><body onLoad="checkCookie()"></body></html>
- Cookie简介
- Cookie简介
- cookie简介
- cookie 简介
- cookie 简介
- cookie简介
- Cookie简介
- Cookie简介
- Cookie简介
- cookie简介
- cookie简介
- cookie简介
- Cookie简介
- cookie简介和session简介
- cookie对象的简介
- JSP Cookie简介
- cookie技术简介
- Cookie简介和作用
- Linux程序设计笔记(第1章 入门)
- 精通安卓性能优化-第四章(三)
- 在StackOverflow网站上获赞同最多的Java问题(前十名)
- MySQL--> 架构与概念-->MySQL架构方案
- 用Apache的commons-fileupload组件上传文件时,普通字段编码出错
- cookie简介
- Using Non-COM C DLL
- 8-1
- Springmvc案例1----基于spring2.5的采用xml配置
- 深度探索linux操作系统系统构建和原理解析第四章
- NSGA-II算法理解及matlab代码详解(二)
- Web ADI示例:供应商站点录入
- A typedef does
- By default,