intern的项目纠结js里cookie的用法

cookie有这么几个属性,name,value,expireDate,domain,path

项目遇到html/person/person.html设置的cookie无法从html/alipay/pay.asp中读出

结果:cookie的路径问题,person.html默认的path是自己的路径,想要让隔壁路径的网页访问该cookie须设置path=/

之后,一并把domain也弄清楚了,www.test.com/test/test.aspx默认domain为www.test.com,ti.test.com设置的cookie要让t2.test.com访问须设置domain=.test.com

js原生封装函数cookie:

 1 var CookieUtil={
 2     get:function(name){
 3         var cookieName=encodeURIComponent(name)+"=",
 4         cookieStart=document.cookie.indexOf(cookieName),
 5         cookieValue=null;
 6         if(cookieStart>-1){
 7             var cookieEnd=document.cookie.indexOf(";",cookieStart);
 8             if(cookieEnd==-1){
 9                 cookieEnd=document.cookie.length;
10             }
11             cookieValue=decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length,cookieEnd));
12         }
13         return cookieValue;
14     },
15     set:function(name,value,expires,path,domain,secure){
16         car cookieText=encodeURIComponent(name)+"="+
17         encodeURIComponent(value);
18         if(expires instanceof Date){
19             cookieText+=";expires="+expires.toGMTString();
20         }
21         if(path){
22             cookieText+=";path="+path;
23         }
24         if(domain){
25             cookieText+=";domain="+domain;
26         }
27         if(secure){
28             cookieText+=";secure";
29         }
30         document.cookie=cookieText;
31     },
32     unset:function(name,path,domain,secure){
33         this.set(name,"",new Date(0),path,domain,secure);
34     }
35 };
时间: 2024-10-29 19:09:57

intern的项目纠结js里cookie的用法的相关文章

js删除cookie不成功

最近在做一个项目,js删除cookie老是不成功,最后发现是没有指定cookie的域 js删除cookie其实是改变cookie的过期时间,将cookie的过期时间设置为过去,以下几项是必须要指定的 1.cookie名 2.cookie值 3.cookie过期时间 4.cookie域 5.cookie路径 以上几项缺一不可,必须都要有才能修改cookie 具体代码如下: 1 /**设置cookie 2 * @param {cookie名} 3 * @param {cookie值} 4 * @pa

js操作cookie

    前言 最近的一个项目需要做用户最近浏览的效果,需要使用cookie存储的方式来实现,找了一下相关的资料,于是便有了本篇博文,写js操作cookie的文章挺多的,不过我觉得自己还有必要记录一的,毕竟自己的东西印象更加的深刻,也方便以后的查找使用,再次感谢一下网络资料的无私奉献者们——祝你们身体健康,愿上帝与你们同在. 1:处理cookie的js文件,代码简单注释尚可,建议先看一下W3C有关cookie资料(链接往下拉!) /*useCookie.js:处理cookie的文件*/ /** *

js获取html元素? js里"=="和"==="区别?

现在的我的cpu又添加一项进程,那就是javaScript. 一.js获取html元素常用的方法: js获取html元素常用的方法有: 1)var obj = document.getElementById("#id");非常常用是通过Id来获取页面元素的. 2) var obj = document.getElementsByTagName("element");这个是通过html页面标签来获取元素的.在一个页面中相同的标签会出现很多次,如何能定位到自己想要的呢?

JS设置Cookie,及COOKIE的限制

在Javascript脚本里,一个cookie 实际就是一个字符串属性.当你读取cookie的值时,就得到一个字符串,里面当前WEB页使用的所有cookies的名称和值.每个cookie除了 name名称和value值这两个属性以外,还有四个属性.这些属性是: expires过期时间. path路径. domain域.以及 secure安全. Expires – 过期时间.指定cookie的生命期.具体是值是过期日期.如果想让cookie的存在期限超过当前浏览器会话时间,就必须使用这个属性.当过

js操作cookie,实现登录密码保存

通常cookie和session,是web开发中用于存储信息的对象,session存在于服务器的内存中,而cookie则是存在客户端,所以js可以直接操作cookie进行信息的存储和读取. js存放cookie一般的写法,如:document.cookie="userName=admin";,如果是多个键值对:document.cookie="userName=admin; userPass=123"; 下面是js操作cookie保存用户的登录信息: <!DO

js里==和===的区别 以及sass与less的区别 (精解版)

js里==和===有什么区别 ==:运算符称作相等,用来检测两个操作数是否相等,这里的相等定义的非常宽松,可以允许进行类型转换===:用来检测两个操作数是否严格相等1.对于zhidaostring,number等基础类型,==和===是有区别的内不同类型间比较,==之比较“转化成同一类型后的容值”看“值”是否相等,===如果类型不同,其结果就是不等同类型比较,直接进行“值”比较,两者结果一样2.对于Array,Object等高级类型,==和===是没有区别的3.基础类型与高级类型,==和===是

在js里UTF-8与GB2312的互转

js的函数如下: function GB2312UTF8() { this.Dig2Dec = function(s) { var retV = 0; if (s.length == 4) { for (var i = 0; i < 4; i++) { retV += eval(s.charAt(i)) * Math.pow(2, 3 - i); } return retV; } return - 1; } this.Hex2Utf8 = function(s) { var retS = "

谈谈JS里的{ }大括号和[ ]中括号的用法

谈谈JS里的{ }大括号和[ ]中括号的用法,理解后就可以看懂JSON结构了. 一.{ } 大括号,表示定义一个对象,大部分情况下要有成对的属性和值,或是函数. 如:var LangShen = {"Name":"Langshen","AGE":"28"}; 上面声明了一个名为"LangShen"的对象,多个属性或函数用,(逗号)隔开,因为是对象的属性, 所以访问时,应该用.(点)来层层访问:LangShe

JS设置cookie,删除cookie(引)

JS设置cookie,删除cookie(引) js设置cookie有很多种方法. 第一种:(这个是w3c官网的代码) <script> //设置cookie function setCookie(cname, cvalue, exdays) { var d = new Date(); d.setTime(d.getTime() + (exdays*24*60*60*1000)); var expires = "expires="+d.toUTCString(); docum