全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

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

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


# 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的操作  # 另外一个  # 作了  # 我是  # 变量名  # 这一  # 很好  # 变量值  # 在这个  # 出了  # 希望能  # 才有  # 很简单  # 再来  # 我给  # 收货  # 谢谢大家  # 跳到  # 无非是  # 来谈  # 前辈们 


相关文章: 建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何用低价快速搭建高质量网站?  网站制作价目表怎么做,珍爱网婚介费用多少?  建站之星免费版是否永久可用?  开心动漫网站制作软件下载,十分开心动画为何停播?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  深圳网站制作的公司有哪些,dido官方网站?  长沙企业网站制作哪家好,长沙水业集团官方网站?  建站之星后台密码遗忘如何找回?  网站制作网站,深圳做网站哪家比较好?  智能起名网站制作软件有哪些,制作logo的软件?  如何快速生成专业多端适配建站电话?  如何在万网自助建站平台快速创建网站?  行程制作网站有哪些,第三方机票电子行程单怎么开?  简单实现Android验证码  官网网站制作腾讯审核要多久,联想路由器newifi官网  定制建站价位费用解析与套餐推荐全攻略  微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?  建站上传速度慢?如何优化加速网站加载效率?  如何高效完成自助建站业务培训?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  家具网站制作软件,家具厂怎么跑业务?  ,如何利用word制作宣传手册?  如何零基础开发自助建站系统?完整教程解析  建站之星24小时客服电话如何获取?  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  兔展官网 在线制作,怎样制作微信请帖?  太原网站制作公司有哪些,网约车营运证查询官网?  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  如何快速生成高效建站系统源代码?  如何在IIS中新建站点并解决端口绑定冲突?  如何快速生成可下载的建站源码工具?  如何在Golang中使用replace替换模块_指定本地或远程路径  沈阳制作网站公司排名,沈阳装饰协会官方网站?  家庭建站与云服务器建站,如何选择更优?  如何快速搭建FTP站点实现文件共享?  建站三合一如何选?哪家性价比更高?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  建站之星备案流程有哪些注意事项?  建站主机类型有哪些?如何正确选型  如何快速搭建高效WAP手机网站?  电商网站制作公司有哪些,1688网是什么意思?  广东专业制作网站有哪些,广东省能源集团有限公司官网?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  建站之星如何助力企业快速打造五合一网站?  营销式网站制作方案,销售哪个网站招聘效果最好? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。