javascript 操作cookies详解及实例


Posted in Javascript onFebruary 22, 2017

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=/表示保存在域名路径下,全局可用

/***********************操作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 相关文章推荐
javascript针对DOM的应用分析(四)
Apr 15 Javascript
js图片自动切换效果处理代码
May 07 Javascript
jQuery实现为LI列表前3行设置样式的方法【2种方法】
Sep 04 Javascript
Node.js connect ECONNREFUSED错误解决办法
Sep 15 Javascript
深入理解bootstrap框架之第二章整体架构
Oct 09 Javascript
js html5 css俄罗斯方块游戏再现
Oct 17 Javascript
JS实现的走迷宫小游戏完整实例
Jul 19 Javascript
一个简易的js图片轮播效果
Jul 22 Javascript
如何解决vue2.0下IE浏览器白屏问题
Sep 13 Javascript
vue如何安装使用Quill富文本编辑器
Sep 21 Javascript
Vue.js样式动态绑定实现小结
Jan 24 Javascript
简单了解vue 插值表达式Mustache
Jul 22 Javascript
jquery实现手机端单店铺购物车结算删除功能
Feb 22 #Javascript
js实现简易垂直滚动条
Feb 22 #Javascript
微信小程序 引用其他js文件实现代码
Feb 22 #Javascript
微信小程序本作用域下调用全局JS详解及实例
Feb 22 #Javascript
vuejs2.0实现分页组件使用$emit进行事件监听数据传递的方法
Feb 22 #Javascript
JS实现一个简单的日历
Feb 22 #Javascript
js实现日历与定时器
Feb 22 #Javascript
You might like
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
PHP实现的分解质因数操作示例
2018/08/01 PHP
php xhprof使用实例详解
2019/04/15 PHP
PHP生成随机字符串实例代码(字母+数字)
2019/09/11 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
2019/11/26 PHP
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
js判断客户端是iOS还是Android等移动终端的方法
2013/12/11 Javascript
JQuery插入DOM节点的方法
2015/06/11 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
利用Angularjs中模块ui-route管理状态的方法
2016/12/27 Javascript
Javascript 一些需要注意的细节(必看篇)
2017/07/08 Javascript
Vue实现数字输入框中分割手机号码的示例
2017/10/10 Javascript
Vue-Router实现组件间跳转的三种方法
2017/11/07 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
[01:11:08]Winstrike vs NB 2018国际邀请赛淘汰赛BO1 8.21
2018/08/22 DOTA
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
简单的编程0基础下Python入门指引
2015/04/01 Python
Python调用命令行进度条的方法
2015/05/05 Python
Python实现Linux命令xxd -i功能
2016/03/06 Python
python3+PyQt5实现自定义分数滑块部件
2018/04/24 Python
python实现俄罗斯方块游戏
2020/03/25 Python
python写日志文件操作类与应用示例
2019/07/01 Python
python递归法解决棋盘分割问题
2019/07/17 Python
python sqlite的Row对象操作示例
2019/09/11 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
css3学习心得分享
2013/08/19 HTML / CSS
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
戛纳奢侈品商店:Jacques Loup法国
2019/11/04 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
私人会所最新创业计划书范文
2014/03/24 职场文书
运动会加油稿100字
2014/09/19 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
红歌会主持词
2015/07/02 职场文书
那些美到让人窒息的诗句,值得你收藏!
2019/08/20 职场文书