码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript cookie

时间:2019-11-06 18:31:32      阅读:83      评论:0      收藏:0      [点我收藏+]

标签:space   tle   检测   java   格式   plain   keyword   time   lock   

什么是cookie?

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);
      }
   }
}

 

 

此处仅作交流学习,版权归原作者所有

 

JavaScript cookie

标签:space   tle   检测   java   格式   plain   keyword   time   lock   

原文地址:https://www.cnblogs.com/w-yue/p/11806947.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!