js 放置 cookie、获取 cookie、删除 cookie
这块TM的删不掉
代码如下:
// 自定义 js cookies
var mycookie = { // 放置
set : function(name,value){
var Days = 1; //此 cookie 将被保存 Days 天
var exp = new Date(); //new Date("December 31, 9998");
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
}, //获取
get : function(name){
var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
if(arr != null) return unescape(arr[2]); return null;
}, //删除
del : function(name){
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=mycookie.get(name);
if(cval!=null) document.cookie= name + "="+";expires="+exp.toGMTString();
}
}
如果小伙伴们在实际项目中,发现 cookie 删除不了。这是怎么回事呢? 那就需要看看下面这些东西啦。
cookie 的一些属性:
1. domain:cookie 所在的域,默认为请求地址。如网址 www.baidu.com/test/index,那么 domain 默认为 www.baidu.com。而跨域访问呢,比如域A为 www.baidu.com,域B为 www.goodle.com。那么就需要将 domain 设置为 .com。如果想要产生一个域A 不能访问,而域B 可以访问的,domain 设置为 www.goodle.com。
2. path:cookie 所在的目录,默认为'/',就是根目录。在同一个服务器上有目录如下:/test/,/test/cd/,/test/dd/,现设一个 cookie1 的 path 为 /test/,cookie2 的 path 为 /test/cd/,那么 test 下的所有页面都可以访问到 cookie1,而 /test/ 和 /test/dd/ 的子页面不能访问 cookie2。这是因为 cookie 能让其 path 路径下的页面访问。
3. 浏览器会将 domain 和 path 都相同的 cookie 保存在一个文件里,cookie 间用 * 隔开。
4. 含值键值对的cookie:以前一直用的是 nam=value 单键值对的 cookie,一说到含多个子键值对的就蒙了。现在总算弄清楚了。含多个子键值对的 cookie 格式是name=key1=value1&key2=value2。可以理解为单键值对的值保存一个自定义的多键值字符串,其中的键值对分割符为 &,当然可以自定义一个分隔符,但默认是以 & 为分割符。
js 放置 cookie、获取 cookie、删除 cookie的更多相关文章
- vue.js设置、获取、删除cookie
项目需要前端获取后台返回的cookie,并以此作判断.我是在main.js入口文件下使用的 具体代码: new Vue({ el: '#app', router, template: '<App ...
- js设置,获取,删除Cookie
//JS操作cookies方法! //写cookies function setCookie(name,value) { var Days = 30; var exp = new Da ...
- 顶级域名和二级域名共享cookie及相互删除cookie
在CSDN看到一个cookie设置domain时,如何删除的问题, 自己也只知道domain设置为顶级域名时可以被其他二级域名共享,但是如何删除还是有一点搞不清楚,所以特意测试了下cookie和dom ...
- js设置、修改、获取、删除 cookie
上面这串省略号对于各种吐槽的声音:因为在百度上看到的关于设置cookie的前几篇文章都是错误的: 里面给出的设置cookie的代码是这样的: function setCookie(name,value ...
- Js添加、读取、删除cookie,判断cookie是否有效,指定domain域下主路径path下设置cookie,设置expires过期时间
有时我们需要用cookie保存用户名,记录登录状态,如何正确判断该机用户cookie是否存在呢?不能简单使用a!=”这样的写法. 正确方法是:判断是否存在名为username3的cookie,使用do ...
- iOS UIWebView 和 WKWebView 的 cookie 获取,设置,删除
Cookie简介说到Cookie,或许有些小伙伴会比较陌生,有些小伙伴会比较熟悉.如果项目中,所有页面都是纯原生来实现的话,一般Cookie这个东西或许我们永远也不会接触到.但是,这里还是要说一下Co ...
- 用js读、写、删除Cookie
//已经验证过 // JavaScript Document //使用说明: //设置缓存:setCookie("name",value); //获取缓存:var name=ge ...
- JS设置、获取和取消Cookie
// 设置cookie function setCookie(name, value, seconds, domain) { seconds = seconds || 0; // se ...
- js设置、读取、删除cookie
设置cookie: function setCookie(oJson , time){ var data = new Date( new Date().getTime() + time*24*60*6 ...
- 设置,获取,删除cookie
function setCookie(key,value,options){ if (value !== undefined ) { if(options === undefined || optio ...
随机推荐
- Flashbuilder 破解方式 4.6 +4.7(网络资源整理)
Fb4.6 破解方式 安装完成后在安装目录下依次修改下列3个文件: (1).eclipse\plugins\com.adobe.flexbuilder.project_4.6.0.328916\MET ...
- Hibernate之环境搭建
开始之前,我想先理清一个概念,即ORM是什么? ORM介绍 全称:Object/Relation Mapping,即对象/关系映射. ORM也可以理解为一种规范,具体的ORM框架可作为应用程序和数据库 ...
- Java实现二叉树先序,中序,后序遍历
以下是我要解析的一个二叉树的模型形状 接下来废话不多直接上代码 一种是用递归的方法,另一种是用堆栈的方法: 首先创建一棵树: public class Node { private int data; ...
- java学习 (2)xml操作 SAX(增、删、改、查)
sax是事件驱动的,sax是一种推模式 SAX常用事件: startDocument()----文档开始事件 startElement()-----元素开始事件 charElement()----文本 ...
- java中异常处理机制的简单原理
以上是自认为的java异常处理的简单原理,如有不妥之处还请各位大神帮忙指点,谢谢!
- bootstrap如何自定义5等分
根据bootstrap源码改的1比5的栅格系统 /*5等分媒体查询样式begin*/ .col-xs-1-5,.col-sm-1-5,.col-md-1-5,.col-lg-1-5,.col-xs-4 ...
- sublime text3编译运行C,Java程序的一些配置
环境:linux 64位 桌面环境: gnome Java编译运行 (1)Preferences --> Browse Packages --> 在该文件夹下新建build文件如: Myj ...
- Spring Aop详尽教程
一.概念 AOP(Aspect Oriented Programming):面向切面编程. 面向切面编程(也叫面向方面编程),是目前软件开发中的一个热点,也是Spring框架中的一个重要内容.利用AO ...
- 2016年团体程序设计天梯赛-决赛 L1-8. Left-pad(20)
根据新浪微博上的消息,有一位开发者不满NPM(Node Package Manager)的做法,收回了自己的开源代码,其中包括一个叫left-pad的模块,就是这个模块把javascript里面的Re ...
- Sass与Compress实战:第四章
概要:这一章将深挖Compass的工具箱,看看Compass的混合器如何帮助你省去编写重复样式表的辛苦工作. 本章内容: ● 使用Compass重置浏览器默认样式表 ● 改进样式表排版的Compass ...