码迷,mamicode.com
首页 > 编程语言 > 详细

javascript 操作cookies详解

时间:2018-05-11 23:45:28      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:dex   command   ber   www.   regexp   cin   tst   false   net   

javascript 操作cookies详解

这段操作cookies的方法我使用很久了,但是一直一来没遇到什么问题,今天在做一个在第一个页面保存了cookies,第二个页面获取或者第三个页面获取的功能中,发现了方法的局限性,比如,第一个页面路径为 http://xxxxx/cyb-car2016/h5OfficeWorker/index,第二个页面路径为 http://xxxxx/cyb-car2016/h5AlertController/index,其中除了域名是一样之外,还有一个命名空间不一样,而cookies是默认保存在当前页面下,所以在第一个页面中保存了cookies,因为保存的路径不同,第二个页面会获取不到cookies。 解决方法是,在保存cookies的时候,设置一下path,document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+";path=/"; ,其中path=/表示保存在域名路径下,全局可用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
/***********************操作cookies的方法***************************/
//写cookies
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
function setCookie(name,value,time){
 var strsec = getsec(time);
 var exp = new Date();
 exp.setTime(exp.getTime() + strsec*1);
 document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString()+";path=/";
}
 
//读取cookies
function getCookie(name){
 var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
 
 if(arr=document.cookie.match(reg))
  return unescape(arr[2]);
 else
  return false;
}
 
// 删除cookies
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()+";path=/";
}
 
function getsec(str){
 //alert(str);
 var str1=str.substring(1,str.length)*1;
 var str2=str.substring(0,1);
 if (str2=="s")
 {
  return str1*1000;
 }
 else if (str2=="h")
 {
  return str1*60*60*1000;
 }
 else if (str2=="d")
  {
   return str1*24*60*60*1000;
  }
}
 
 
//获取Cookie
//var name = getCookie("name");
//var phone = getCookie("phone");
//
//if(phone != ""){
// $("input[name=phone]").val(phone);
//}
//if(name!="false"){
// $("input[name=name]").val(name);
//}
 
/***********************操作cookies的方法***************************/

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

javascript 操作cookies详解

标签:dex   command   ber   www.   regexp   cin   tst   false   net   

原文地址:https://www.cnblogs.com/duanqiao123/p/9026510.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!