javascript 中Cookie读、写与删除操作

发布时间 - 2026-01-11 00:25:24    点击率:

 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的解读。

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


# JS中Cookie读、写与删除操作  # javascript  # Cookie的操作  # JS实现Cookie读、写、删除操作工具类示例  # javascript 操作cookies详解及实例  # javascript操作cookie  # Javascript 对cookie操作详解及实例  # JS中对Cookie的操作详解  # JS封装cookie操作函数实例(设置、读取、删除)  # javascript操作Cookie(设置、读取、删除)方法详解  # js中的cookie的读写操作示例详解  # JS操作Cookie写入和读取实例代码  # JS操作Cookies包括(读取添加与删除)  # JavaScript实现cookie的操作  # 另外一个  # 作了  # 我是  # 变量名  # 这一  # 很好  # 变量值  # 在这个  # 出了  # 希望能  # 才有  # 很简单  # 再来  # 我给  # 收货  # 谢谢大家  # 跳到  # 无非是  # 来谈  # 前辈们 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在七牛云存储上搭建网站并设置自定义域名?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  LinuxCD持续部署教程_自动发布与回滚机制  如何在 Pandas 中基于一列条件计算另一列的分组均值  php485函数参数是什么意思_php485各参数详细说明【介绍】  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  在线制作视频的网站有哪些,电脑如何制作视频短片?  JavaScript如何实现错误处理_try...catch如何捕获异常?  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  装修招标网站设计制作流程,装修招标流程?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  java获取注册ip实例  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何快速登录WAP自助建站平台?  如何基于PHP生成高效IDC网络公司建站源码?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  如何快速生成可下载的建站源码工具?  详解Android中Activity的四大启动模式实验简述  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何快速使用云服务器搭建个人网站?  Laravel如何优化应用性能?(缓存和优化命令)  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  C++时间戳转换成日期时间的步骤和示例代码  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  香港服务器建站指南:免备案优势与SEO优化技巧全解析  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Laravel如何配置.env文件管理环境变量_Laravel环境变量使用与安全管理  Laravel如何实现本地化和多语言支持?(i18n教程)  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  教学论文网站制作软件有哪些,写论文用什么软件 ?  Android自定义listview布局实现上拉加载下拉刷新功能  详解jQuery停止动画——stop()方法的使用  如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环  laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法  如何实现建站之星域名转发设置?  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  php 三元运算符实例详细介绍  Microsoft Edge如何解决网页加载问题 Edge浏览器加载问题修复  网站制作报价单模板图片,小松挖机官方网站报价?  如何在云虚拟主机上快速搭建个人网站?  如何彻底删除建站之星生成的Banner?  Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案  如何获取上海专业网站定制建站电话?  制作企业网站建设方案,怎样建设一个公司网站?