当前位置: 首页 > 编程笔记 >

javascript 中Cookie读、写与删除操作

钦宏义
2023-03-14
本文向大家介绍javascript 中Cookie读、写与删除操作,包括了javascript 中Cookie读、写与删除操作的使用技巧和注意事项,需要的朋友参考一下

 javascript 中Cookie读、写与删除操作

前言:

在这个前端横行的时候,页面之间的交互需要数据的传递,有的数据通过url传参的形式可以很好地解决,但是对于部分需要改变的参数,你如说从页面A到页面B选择数据,然后从页面B将数据再传到页面A(典型的栗子就是收货地址的选择),针对这一块我是通过存储cookie来解决的。

对于cookie的操作我给出了一些简单的封装,当然也借鉴了前辈们经验,自己糅合了一下,对于cookie的操作,无非是读写和删除,我们首先来看一下写的操作,有写才有读,进而进行删除等操作。

/**
 * 设置COOKIE
 * @param name 设置cookie的属性名
 * @param value 设置cookie的属性值
 * @param time  设置cookie的时间
 */

function setCookie(name, value , time) {
  time = time ? parseFloat(time) : 0 ;
  var exp = new Date();
  exp.setTime(exp.getTime() + time);
  // escape 这种编码方式过时了 改用 encodeURIComponent
  // document.cookie = name + "=" + escape(value) + ";expires=" + (time ? exp.toGMTString() : 'session');
  document.cookie = name + "=" + encodeURIComponent(value) + ";expires=" + (time ? exp.toGMTString() : 'session');
}

我们有了写的操作了,那么我们再来看看对于读的操作。

/**
 * 获取cookie
 * @param name
 * @returns {null}
 */

function getCookie(name) {
  var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  if (arr = document.cookie.match(reg))
    //unescape这种解码方式好像过时了,可以采用decodeURIComponent解码方式
    //return unescape(arr[2]);
     return decodeURIComponent(arr[2]);
  else
    return null;
}

接下就是对cookie的删除操作了,其实这个操作很简单,就是将cookie设置过期,cookie就自动失效了

/**
 * 删除cookie
 * @param name
 */

function delCookie(name) {
  var exp = new Date();
  exp.setTime(exp.getTime() - 1);
  var cval = getCookie(name);
  if (cval != null)
    document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
}

以上就是对cookie的一些简单操作

接下来我们来谈一点cookie的深层次的问题:cookie的跨域

 Js跨域同步cookie怎么实现
    document.cookie = "name=" + "value;" + "expires=" + "datatime;" + "domain=" + "" + "path=" + "/path" + "; secure";

/**
 * 删除cookie
 * value Cookie值
 * expires 有效期截至(单位毫秒)
 * path 子目录
 * domain 有效域
 * secure 是否安全
 */

<iframe src='http://网站:1234/test/Index' width='100' height='100' style="display:none"></iframe>

/*
*原页面js里 window.location = "http://另外一个网站:1234/GetCookie/Index?" + document.cookie;跳到另外一个站,另外一个站获取cookie,设置cookie
*/

 var url = window.location.toString();//获取地址
 var get = url.substring(url.indexOf("liuph"));//获取变量和变量值
 var idx = get.indexOf("=");//获取变量名长度
 if (idx != -1) {
    var name = get.substring(0, idx);//获取变量名
    var val = get.substring(idx + 1);//获取变量值
    setCookie(name, val, 1);//创建Cookie
  }

以上就是今天对cookie的解读。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! 

 类似资料:
  • 本文向大家介绍JavaScript实现cookie的写入、读取、删除功能,包括了JavaScript实现cookie的写入、读取、删除功能的使用技巧和注意事项,需要的朋友参考一下 在没介绍正文之前,先给大家介绍Cookie的基础知识 首先了解什么是cookie   “cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 Ja

  • 本文向大家介绍用js读、写、删除Cookie代码续篇,包括了用js读、写、删除Cookie代码续篇的使用技巧和注意事项,需要的朋友参考一下 上次的一篇文章:用js读、写、删除Cookie代码分享及详细注释说明,在实践中发现了一些问题: 1.cookie在本地文件上只能在火狐上调试,IE和chrome无效 2.cookie没有设置为永不过期,只考虑了设置一个时间段就过期,显然不太合理。 这次给出的是

  • 在一些Web应用程序中需要在客户端保存一些信息,如用户名等,以使在下次访问同一个Web程序时可以根据这些信息为用户提供方便,或作为其他的用途。这些信息是由一个key-value对组成。每一对这样的信息被称为一个Cookie。如有一些登录程序在下一次访问时,会自动将用户名显示在用户名文本框中,这就是通过Cookie实现的。 下面的例子演示了如何在Servlet中读、写Cookie信息。 例子 : 读

  • 本文向大家介绍JS封装cookie操作函数实例(设置、读取、删除),包括了JS封装cookie操作函数实例(设置、读取、删除)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS封装cookie操作函数。分享给大家供大家参考,具体如下: 希望本文所述对大家JavaScript程序设计有所帮助。

  • 这不起作用,我只需要在requestSpecification中清除Cookie

  • 本文向大家介绍JavaScript中Cookie操作实例,包括了JavaScript中Cookie操作实例的使用技巧和注意事项,需要的朋友参考一下 JavaScript Cookie   Cookie对象:   Cookie是一种以文件的形式保存在客户端硬盘的Cookies文件夹中的用户数据信息(Cookie数据)。   Cookie文件由所访问的Web站点建立,以长久的保存客户端与Web站点间的

  • 本文向大家介绍PHP 删除Cookie,包括了PHP 删除Cookie的使用技巧和注意事项,需要的朋友参考一下 示例 要删除Cookie,请将过期时间戳记设置为过去的时间。这将触发浏览器的删除机制: 删除Cookie时,请确保path和的domain参数setcookie()与您要删除的Cookie匹配,否则将创建一个立即过期的新Cookie。 $_COOKIE如果当前页面使用该值,则最好取消设置

  • 如果cookie的max-age属性的值为0,则表示删除该cookie。cookie机制没有提供删除方法,因此通过设置该cookie即时失效实现删除cookie的效果。失效的cookie会被浏览器从cookie文件或者内存中删除。如: function delCookie(name) { setCookie(name, "", 0); }