javascript 中Cookie读、写与删除操作
2019/6/27 21:03:45
本文主要是介绍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读、写与删除操作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01Vue.js 是什么-icode9专业技术文章分享
- 2024-11-01Vue3入门教程:从零开始搭建第一个Vue3项目
- 2024-11-01详解vueRouter4基础教程
- 2024-11-01Vuex4课程:初学者的完整入门指南
- 2024-10-31Vue3课程:新手入门到初级掌握
- 2024-10-31Vue3课程:新手入门到初级应用详解
- 2024-10-31VueRouter4课程:新手入门与实战指南
- 2024-10-31Vuex4学习:从入门到初级实战教程
- 2024-10-31Vue3教程:新手入门与基础实战
- 2024-10-31Vue教程:新手快速入门指南