cookie可以通过js获取吗,cookie 操作

  cookie可以通过js获取吗,cookie 操作

  本教程运行环境:windows7系统,javascript1.8.5版本1.8.5,戴尔G3电脑。

  Cookies是存储在访客电脑中的变量。当用户访问一个网站时,他们可以通过cookies在访问者的电脑上存储数据。稍后,当用户在同一台计算机上通过浏览器再次请求该页面时,将发送此cookie,因此cookie可用于识别用户。

  1. 设置cookie

  cookie通过设置cookie来存储数据。每个cookie都是一个名称/值对。名称/值对由等号连接,名称/值对分配给document.cookie。您可以一次为document.cookie分配多个名称/值对,并用分号和空格分隔每个名称/值对。

  设置cookie的基本格式如下:

  document . cookie= Name 1=Value 1[;2=值2;…];设置cookie的示例如下:

  document . cookie= username=ABC ;

  document.cookie= age=23

  document.cookie= username=abc年龄=23’;请注意,分号不能用在cookie的名称或值中;和等号=。如果要存储这些符号,需要使用escape()函数对它们进行编码。例如:document . cookie= str= escape( username=nch ),相当于:document . cookie= str=username=nch ,即等号编码为=在使用escape()编码时,需要在取值后使用unescape()解码得到原始的cookie值。

  此外,当以上述格式设置的cookie中的值存储在用户的电脑中时,不同网站的数据以网站域名的形式进行区分,不同浏览器中存储cookie的位置不同,因此不同浏览器中存储的cookie无法相互访问。另外,同一域名下存储的cookie数量是有限的,不同的浏览器对存储的cookie数量有不同的限制。而且每个cookie的内容大小是有限制的,不同浏览器的大小限制也不一样。

  2. 修改cookie值

  如果你想改变一个cookie值,只需重新赋值即可,例如:document.cookie= age=36这样,可以修改之前设置的age=23的cookie值。

  3. 获取cookie

  当你通过document.cookie获取当前网站下的cookie时,得到的是一个字符串形式的值,它包含了当前网站下的所有cookie。它以分号空格的形式连接所有cookie。

  要获得不同的cookie值,可以使用split()方法将包含分号和空格的字符串分隔成一个字符串数组,然后遍历该字符串数组以获得每个名称/值对。使用split()方法将名称/值对分离到一个再次包含名称和值的数组中,就可以得到指定cookie名称的值。

  例如,获取名为age的cookie值的代码如下:

  document.cookie= username=abc年龄=23’;

  var arr 1=document . cookie . split(;);

  for(var I=0;i arr1 .长度;i ){

  var arr2=arr1[i]。拆分(=);

  if(arr2[0]==age){

  alert(arr 2[1]);

  }

  }4. 设置cookie的有效时间

  cookies默认是临时存储的,也就是默认存在内存中,不存储在硬盘中,所以浏览器进程关闭后会自动销毁存储的cookies。如果您想将cookie保存在您的计算机中一段时间或永久保存,您需要在设置cookie时设置一个有效的时间。设置格式如下:

  Document.cookie= name=value字符串格式的Expires= time例如:

  var OTA=new Date();

  OTA . set date(OTA . getdate()10);//在访问页面10天后过期

  //设置cookie的有效时间,时间为字符串格式。

  document.cookie= username=abcexpires= otate . togmtstring();5. 删除cookie

  只需将直接cookie的有效时间设置为过去的某个时间。例如:

  var OTA=new Date();

  OTA . set date(OTA . getdate()-1);//访问页面的前一天

  document.cookie= username=abcexpires= otate . togmtstring();[例1]使用文档操作cookie。

  !声明文档类型

  超文本标记语言

  头

  meta charset=utf-8

  使用cookie来记住登录用户名/头衔。

  脚本

  window.onload=function(){

  var oUsername=document . getelementbyid( username );

  var olog in=document . getelementbyid( log in );

  var oDel=document . getelementbyid( del );

  //确定用户是否曾经登录过。

  if(get cookie( username ){

  ousername . value=get cookie( username );

  }

  //定义一个函数来获取指定名称的cookie值:

  函数getCookie(key){

  var arr 1=document . cookie . split(;);

  for(var I=0;i arr1 .长度;i ){

  var arr2=arr1[i]。拆分(=);

  if(arr2[0]==key){

  返回unescape(arr 2[1]);//解码编码内容。

  }

  }

  }

  //定义一个函数来设置cookie,同时设置cookie的有效时间

  函数setCookie(key,value,t){

  var OTA=new Date();

  OTA . set date(OTA . getdate()t);

  //使用escape()对内容进行编码

  document . cookie=key = escape(value);expires= otate . togmtstring();

  }

  //定义一个函数来删除cookie

  函数removeCookie(key){

  setCookie(key,,-1);

  }

  oLogin.onclick=function(){

  Alert(“登录成功”);

  //将输入的用户名存储在一个cookie中,cookie会在登录5天后过期。

  setCookie(用户名,oUsername.value,5);

  }

  oDel.onclick=function(){

  removeCookie(“用户名”);

  ousername . value=“”;//删除cookie后清空文本框的内容

  }

  };

  /脚本

  /头

  身体

  输入类型=text id=username/

  type= button value= log in id= log in /

  Type= button value=删除用户名cookie id=del/

  /body

  /html注意:Firefox和IE只允许在本地临时操作cookies。关闭浏览器后无法获取Cookies。Chrome不允许cookie在本地操作。当示例1发布在Web服务器上,然后被访问时,这些浏览器可以操作cookie。

  下图是在Chrome浏览器中访问并发布到Tomcat Web server后,点击登录按钮和删除按钮的结果(Tomcat server是本地的,所以可以用localhost作为域名来访问)。

  输入用户名后,点击登录按钮,在点击删除用户名cookie按钮前关闭Chrome浏览器进程,然后再次打开Chrome access示例1。可以得到如图3所示的结果,即用户名会自动显示在文本框中。如果您单击删除用户名cookie按钮,关闭Chrome浏览器进程,然后再次打开Chrome Access Example 1,您将获得如图4所示的结果。此时,存储在cookie中的用户名已被删除,因此无法在文本框中显示。

  【推荐学习:javascript高级教程】以上是javascript如何实现cookie操作的详细内容。更多请关注我们的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • js获取浏览器宽度,js获取浏览器窗口宽度
  • js获取浏览器宽度,js获取浏览器窗口宽度,js 获取屏幕各种宽高的方法(浏览器兼容)
  • js获取本机ip地址的2种方法为,js获取本机ip地址的2种方法是什么
  • js获取本机ip地址的2种方法为,js获取本机ip地址的2种方法是什么,JS获取本机IP地址的2种方法
  • js获取指定时间的时间戳,js根据时区获取时间戳
  • js获取指定时间的时间戳,js根据时区获取时间戳,JS获取当前时间戳方法解析
  • js获取当前节点的父节点,jquery获取父节点
  • js获取当前节点的父节点,jquery获取父节点,JS获取父节点方法
  • js获取当前日期与时间,Js获取时间
  • js获取当前日期与时间,Js获取时间,Js 获取当前日期时间及其它操作实现代码
  • js获取屏幕宽高,获取页面高度js
  • js获取屏幕宽高,获取页面高度js,JS获取屏幕高度的简单实现代码
  • js获取url参数值的两种方式,后端获取url上的参数
  • js获取url参数值的两种方式,后端获取url上的参数,前端JS获取URL参数的4种方法总结
  • js 获取元素宽度,JS获取元素高度
  • 留言与评论(共有 条评论)
       
    验证码: