修改浏览器设置为cookie怎么弄_删除浏览器cookie

修改浏览器设置为cookie怎么弄_删除浏览器cookie怎么设置cookie,怎么设置cookie以及删除cookie和cookie详解注意:expires使用GMT或UTC格式的时间,我这里没有指定路径(path)和域(domain),当没有指定路

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

怎么设置cookie,怎么设置cookie以及删除cookie和cookie详解

 

在操作cookie之前,先来看一下cookie长什么样。

修改浏览器设置为cookie怎么弄_删除浏览器cookie

可以看到,cookie是一个个键值对(“键=值”的形式)加上分号空格隔开组合而成, 形如: "name1=value1; name2=value2; name3=value3"



设置cookie:
 1 /**
 2      * 设置cookie
 3      * @param name cookie的名称
 4      * @param value cookie的值
 5      * @param day cookie的过期时间
 6      */
 7     var setCookie = function (name, value, day) {
 8       if(day !== 0){     //当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
 9         var expires = day * 24 * 60 * 60 * 1000;
10         var date = new Date(+new Date()+expires);
11         document.cookie = name + "=" + escape(value) + ";expires=" + date.toUTCString();
12       }else{
13         document.cookie = name + "=" + escape(value);
14       }
15     };
 

注意:expires使用GMT或UTC格式的时间, 我这里没有指定路径(path)和域(domain),  当没有指定路径时默认为当前路径下,如对 于“https://home.cnblogs.com/u/maderlzp/”下设置的cookie,其path为”/u/maderlzp”, 其domain为当前域名“home.cnblogs.com”。

为什么有时候删除不了cookie? 可能是因为删除cookie时没有指定该cookie的path和domain,导致找不到这个cookie来设置过期时间而无法删除。



获取cookie:
 1 /**
 2      * 获取对应名称的cookie
 3      * @param name cookie的名称
 4      * @returns {null} 不存在时,返回null
 5      */
 6     var getCookie = function (name) {
 7       var arr;
 8       var reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
 9       if (arr = document.cookie.match(reg))
10         return unescape(arr[2]);
11       else
12         return null;
13     };

cookie获取正则解析:
"(^| )" + name + "=([^;]*)(;|$)"  (^| )匹配cookie开头或空格(cookie键值对之间用分号空格隔开),也就是cookie键值对的开始。接着是cookie的名称name,([^;]*)匹配除分号以外的任意字符,也就是cookie键值对的值。最后(;|$)匹配分号或整个cookie的结尾,也就是cooke键值对的结尾。

更多正则的语法详解请参考:

   正则表达式的用法和常用实例【1】




删除cookie:

 

1 /**
2      * 删除cookie
3      * @param name cookie的名称
4      */
5     var delCookie = function (name) {
6       setCookie(name, ' ', -1);
7     };

设置要删除的cookie的expires为过去的时间即可

 

 

修改cookie:

使用上面设置cookie的方法,重新给要修改的cookie赋值就行,这样旧的就会被覆盖掉

 

 

cookie的主要作用:

Cookie主要用在以下三个方面:

  • 会话状态管理(如用户登录状态、购物车、游戏分数和其它需要记录的信息)
  • 个性化设置(如用户自定义设置、主题等)
  • 浏览器行为跟踪(如跟踪分析用户行为)

 

 

cookie设置语法:

 

document.cookie = “cookieName=mader; expires=Fri, 31 Dec 2017 15:59:59 GMT; path=/mydir; domain=cnblogs.commax-age=3600secure=true“;

  •  cookieName=mader :name=value,cookie的名称和值
  •  expires=Fri, 31 Dec 2017 15:59:59 GMT: expires,cookie过期的日期,如果没有定义,cookie会在对话结束时过期。日期格式为 new Date().toUTCString()
  •  path=/mydir: path=path (例如 ‘/’, ‘/mydir’) 如果没有定义,默认为当前文档位置的路径。
  •  domain=cnblogs.com: 指定域(例如 ‘example.com’, ‘.example.com’ (包括所有子域名), ‘subdomain.example.com’) 如果没有定义,默认为当前文档位置的路径的域名部分。
  •  max-age=3600: 文档被查看后cookie过期时间,单位为秒
  •  secure=true: cookie只会被https传输 ,即加密的https链接传输

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167899.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue项目刷新当前页面的方法

    vue项目刷新当前页面的方法尝试了几种刷新页面的方法,比如1、浏览器直接刷新(会出现短暂的白页面现象)2、设置一个空白页面,需要刷新的时候跳转到空页面再从空页面跳回来(些许麻烦)3、使用provide/inject(目前觉得最实用,主讲此方法)…

    2022年8月31日
    0
  • Ifconfig_5k是多少啊

    Ifconfig_5k是多少啊文章目录Linux_day06-07Linux的网络相关一.设置主机名二.chkconfig服务配置三.ntp服务四.防火墙服务——软件防火墙五.网络相关的一些命令1. **ifconfig**2. **netstat**3. **ping**4. **telnet**——用于测试端口连通性5. **curl**——资源定位Linux_day06-07Linux的网络相关一.设置主机名临时设置:#hostname 新主机名(切换用户生效,重启还原)永久设置:修改配置文件/etc/hostname

    2022年8月9日
    4
  • Symfony2 细节小计4

    Symfony2 细节小计4

    2021年9月10日
    45
  • react中postMessage与addEventListener的使用

    react中postMessage与addEventListener的使用有时候两个页面之间不是父子组件的情况下,信息交互很难搞,看到有人用postmessage来进行消息交互,我也试了一下,哎呀妈真香!!!1、首先在需要发送消息的界面中使用postMessage使用的是React+TypeScript,逻辑是更新提交的时候刷新打开当前页面的父窗口,postMessage用法如下:if(window.opener&&window.opener.location&&window.opener.location.href){

    2022年7月12日
    55
  • 二叉树的5个重要性质「建议收藏」

    二叉树的5个重要性质「建议收藏」1.在二叉树的第i层上最多有2 i-1 个节点。(i>=1) 用归纳法证明:归纳基:i=1层时,只有一个根结点,          2i-1=20=1;归纳假设:假设i=k时,命题成立;归纳证明:二叉树上每个结点至多有两棵子树,则第k+1层的结点数最多为2k-12=2k+1-1。

    2022年5月31日
    45
  • JAVA Exception和IOException之间的使用区别

    JAVA Exception和IOException之间的使用区别使用Exception可以保证捕获异常后能继续维持JVM的运行如果Exception换成IOException后,一旦出现IO异常,便会捕获停止运行.“IoException“(流异常,通常用在文件读取中)是”Exception”(用在所有的异常处理中)的一个分支,也就是说“Exception”的范围更大。解释:通过java中在捕获异常的时候需要先捕获“子异常”(范围小,如流异常),之……

    2022年7月16日
    9

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号