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


相关推荐: Claude怎样写约束型提示词_Claude约束提示词写法【教程】  使用豆包 AI 辅助进行简单网页 HTML 结构设计  Laravel如何实现数据库事务?(DB Facade示例)  Laravel如何记录日志_Laravel Logging系统配置与自定义日志通道  详解Oracle修改字段类型方法总结  5种Android数据存储方式汇总  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  详解阿里云nginx服务器多站点的配置  如何在 Pandas 中基于一列条件计算另一列的分组均值  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  如何安全更换建站之星模板并保留数据?  Laravel如何实现密码重置功能_Laravel密码找回与重置流程  php485函数参数是什么意思_php485各参数详细说明【介绍】  js实现点击每个li节点,都弹出其文本值及修改  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  常州企业网站制作公司,全国继续教育网怎么登录?  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  Laravel如何使用Gate和Policy进行授权?(权限控制)  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何用已有域名快速搭建网站?  JavaScript常见的五种数组去重的方式  网站制作企业,网站的banner和导航栏是指什么?  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  免费网站制作appp,免费制作app哪个平台好?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  谷歌浏览器如何更改浏览器主题 Google Chrome主题设置教程  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  JavaScript模板引擎Template.js使用详解  Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  高性价比服务器租赁——企业级配置与24小时运维服务  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel与Inertia.js怎么结合_使用Laravel和Inertia构建现代单页应用  Laravel storage目录权限问题_Laravel文件写入权限设置  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  googleplay官方入口在哪里_Google Play官方商店快速入口指南  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  个人摄影网站制作流程,摄影爱好者都去什么网站?  Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置  太平洋网站制作公司,网络用语太平洋是什么意思?