javascript 操作cookies详解

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的方法***************************/

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

猜你喜欢

转载自www.cnblogs.com/duanqiao123/p/9026510.html
今日推荐