加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 教程 > 正文

javascript构建和存储cookie示例

发布时间:2023-09-13 14:18:07 所属栏目:教程 来源:
导读:什么是cookie?

cookie是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。

cookie使用场景:

名字coo
什么是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, 2005!"。日期也是从 cookie 中取回的。
 
创建和存储cookie
 
在这个例子中我们要创建一个存储访问者名字的 cookie。当访问者首次访问网站时,他们会被要求填写姓名。名字会存储于 cookie 中。当访问者再次访问网站时,他们就会收到欢迎词。
 
首先,我们会创建一个可在 cookie 变量中存储访问者姓名的函数:
 
创建cookie其实也就是在拼一句String :
 
"username=amosli;expires=Mon, 16 Dec 2013 16:20:04 GMT"
 
然后document.cookie=上面的String即可.
 
代码如下:
 
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:
 
getCookie()的核心就一句话document.cookie,剩余部分就是对字符串的处理上了.
 
代码如下:
 
function getCookie(c_name)
 
{
 
if (document.cookie.length>0)
 
  {
 
  c_start=document.cookie.indexOf(c_name + "=")
 
/*
 
cookie是一组字符串:"username=amosli; ASPSESSIONIDQAAADBDD=GGIJNHCDKGNFEGJIIFDNNION; __utma=119627022.986713705.1387205055.1387205055.1387208465.2; __utmb=119627022.3.10.1387208465; __utmc=119627022; __utmz=119627022.1387208465.2.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=(not%20provided)"
 
*/
 
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 ""
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章