[document.cookie]为什么cookie不在window下的呢.奇怪了[未完待续]
什么是cookie,怎么就叫cookis,它能干嘛
我猜吧,就是登录页面的时候传值,二次登录的时候可以给你说句'hello xxx';
下面这堆比较啰嗦,随意看吧
1 //cookie 用户储存在用户本地终端(客户端/浏览器)上的数据 2 //百度百科摘要 3 4 //Cookie 在网络系统中几乎无处不在,当我们浏览以前访问过的网站时,网页中可能会出现 : 5 //你好 XXX,这会让我们感觉很亲切,这其实是通过访问主机中的一个文件来实现的, 6 //这个文件就是 Cookie 7 8 //Cookie 在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时,存储在 RAM 中发挥作用 9 //(此种 Cookies 称作 Session Cookies),一旦用户从该网站或服务器退出,Cookie 10 //可存储在用户本地的硬盘上 (此种 Cookies 称作 Persistent Cookies) 。 11 12 //通常情况下,当用户结束浏览器会话时,系统将终止所有的 Cookie。当 Web 服务器创建了Cookies 13 //后,只要在其有效期内,当用户访问同一个 Web 服务器时,浏览器首先要检查本地的Cookies, 14 //并将其原样发送给 Web 服务器。这种状态信息称作“Persistent Client State HTTP Cookie” , 15 //简称为 Cookies 16 17 //技术简介 18 19 //目前有些 Cookie 是临时的,有些则是持续的。临时的 Cookie 只在浏览器上保存一段规定的时间, 20 //一旦超过规定的时间,该 Cookie 就会被系统清除 21 22 //持续的 Cookie 则保存在用户的 Cookie 文件中,下一次用户返回时,仍然可以对它进行调用。 23 //在 Cookie 文件中保存 Cookie,有些用户担心 Cookie 中的用户信息被一些别有用心的人窃取, 24 //而造成一定的损害。其实,网站以外的用户无法跨过网站来获得 Cookie 信息。如果因为这种担心而屏蔽 25 //Cookie,肯定会因此拒绝访问许多站点页面。因为,当今有许多 Web 站点开发人员使用 Cookie 26 //技术,例如 Session 对象的使用就离不开 Cookie 的支持 27 28 //功能特点 29 //在同一个页面中设置 Cookie,实际上是按从后往前的顺序进行的。如果要先删除一个 Cookie, 30 //再写入一个 Cookie,则必须先写写入语句,再写删除语句,否则会出现错误 31 32 //Cookie是面向路径的。缺省路径 (path) 属性时,Web 服务器页会自动传递当前路径给浏览器, 33 //指定路径强制服务器使用设置的路径。在一个目录页面里设置的 Cookie 在另一个目录的页面里是看不到的 34 35 //Cookie 必须在 HTML 文件的内容输出之前设置;不同的浏览器 (Netscape Navigator、Internet Explorer) 36 //对 Cookie 的处理不一致,使用时一定要考虑;客户端用户如果设置禁止 Cookie,则 Cookie 37 //不能建立。 并且在客户端,一个浏览器能创建的 Cookie 数量最多为 300 个,并且每个不能超过 4KB, 38 //每个 Web 站点能设置的 Cookie 总数不能超过 20 个 39 40 //有的书上写能存储50个???????????未完待续
定义 cookie 值
1 document.cookie = 'abc'; //定义
设置 cookie 多个内容
1 // document.cookie = 1; 2 // document.cookie = 2; 3 // console.log(document.cookie); //这样只能查看1个
删除cookie--删除cookie只能讲其时间设置成过去的时间
参考 : https://www.cnblogs.com/sy270321/p/4248961.html
作者 : 阿伟~
1 // var cookie = document.cookie; 2 // var date = new Date(); 3 // date.setTime(date.getTime()-1000); 4 // document.cookie = cookie +"; expires=" + date.toGMTString(); 5 // //GMT_String是以GMT格式表示的时间字符串 6 // if(document.cookie){ 7 // alert(1); 8 // console.log(document.cookie); //单独输出会为(空) 9 // } 10 11 12 // 如果要将cookie设置为1天后过期,可以这样实现: 13 // var date = new Date(); 14 // var expiresDays = 1; //将date设置为10天以后的时间 15 // date.setTime(date.getTime()+expiresDays*24*3600*1000); 16 // //将userId和userName两个cookie设置为10天后过期 17 // document.cookie="userId=828;userName=abc;expires="+date.toGMTString();
cookie 访问的路径,亦可设置可访问的主机名
1 // 在页面创建了一个cookie,那么该页面所在目录中的其他页面也可以访问该cookie,包括子目录 2 // 例子 : www.a.com/xxx.html 的 cookie 可被www.a.com/xxx123.html & www.b.a.com/xxx.html 访问 3 // 参考 : https://www.cnblogs.com/sy270321/p/4248961.html 4 // 作者 : 阿伟~ 5 // 6 // //控制cookie可访问的目录,需要使用path参数设置cookie 7 // 8 // document.cookie="name=value; path=cookieDir"; 9 // 其中cookieDir表示可访问cookie的目录。例如: 10 // 11 // document.cookie="userId=320; path=/shop"; 12 // 就表示当前cookie仅能在shop目录下使用。 13 // 14 // 如果要使cookie在整个网站下可用,可以将cookie_dir指定为根目录,例如: 15 // document.cookie="userId=320; path=/"; 16 17 // 指定可访问cookie的主机名 18 // 例:www.google.com 和 gmail.google.com就是两个不同的主机名。 19 // 一个主机中创建的cookie在另一个主机下是不能被访问的,但可以通过domain参数来实现对其的控制, 20 // 21 // document.cookie = "name=value;domain=cookieDomain"; 22 // 以google为例,要实现跨主机访问,可以写为: 23 // 24 // document.cookie = "name=value;domain=.google.com"; 25 // 这样,所有google.com下的主机都可以访问该cookie。 26 // 27 // //个人感觉有点奇怪,这不就可以在控制台修改domain
将cookie对象到处并转为json
1 // document.cookie = 1; 2 // document.cookie = 2; 3 // console.log(document.cookie); //这样只能查看1个 4 // 5 // document.cookie = 'userID = 1'; 6 // document.cookie = 'userName = abc'; 7 // var cookie = document.cookie; 8 // console.log(cookie); //userID=1; userName=abc 9 // console.log(typeof cookie); //string 10 // 11 // function strToJson(str){ 12 // var arr = str.split(';'); 13 // var json = {}; 14 // arr.map(function(val){ 15 // var arr = val.split('='); 16 // json[arr[0]] = arr[1] 17 // }) 18 // return str = json 19 // } 20 // var json = strToJson(cookie); 21 // console.log(json); //{userID: "1", " userName": "abc"} 22 // console.log(typeof json);