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高级学习笔记整理
Aug 14 Javascript
Firefox中beforeunload事件的实现缺陷浅析
May 03 Javascript
客户端js性能优化小技巧整理
Nov 05 Javascript
Javascript 按位左移运算符使用介绍(
Feb 04 Javascript
JavaScript中的substr()方法使用详解
Jun 06 Javascript
JS对大量数据进行多重过滤的方法
Nov 04 Javascript
layui 监听表格复选框选中值的方法
Aug 15 Javascript
详解关于Vue版本不匹配问题(Vue packages version mismatch)
Sep 17 Javascript
js操作table中tr的顺序实现上移下移一行的效果
Nov 22 Javascript
jquery实现进度条状态展示
Mar 26 jQuery
antd design table更改某行数据的样式操作
Oct 31 Javascript
vue打开其他项目页面并传入数据详解
Nov 25 Vue.js
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
全国FM电台频率大全 - 11 浙江省
2020/03/11 无线电
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
ThinkPHP实现带验证码的文件上传功能实例
2014/11/01 PHP
PHP单文件上传原理及上传函数的封装操作示例
2019/09/02 PHP
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
jquery异步调用页面后台方法‏(asp.net)
2011/03/01 Javascript
百度地图API之本地搜索与范围搜索
2015/07/30 Javascript
ClearTimeout消除闪动实例代码
2016/02/29 Javascript
Bootstrap3制作自己的导航栏
2016/05/12 Javascript
js仿微信语音播放实现思路
2016/12/12 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
微信小程序签到功能
2018/10/31 Javascript
微信小程序开发之点击按钮退出小程序的实现方法
2019/04/26 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
NodeJS http模块用法示例【创建web服务器/客户端】
2019/11/05 NodeJs
vue element-ui实现input输入框金额数字添加千分位
2019/12/29 Javascript
element 中 el-menu 组件的无限极循环思路代码详解
2020/04/26 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
antd-DatePicker组件获取时间值,及相关设置方式
2020/10/27 Javascript
[02:50]2014DOTA2 TI预选赛预选赛 大神专访第一弹!
2014/05/21 DOTA
Pyhton中单行和多行注释的使用方法及规范
2016/10/11 Python
Python实现爬取百度贴吧帖子所有楼层图片的爬虫示例
2018/04/26 Python
python实现周期方波信号频谱图
2018/07/21 Python
python解释器spython使用及原理解析
2019/08/24 Python
Python笔记之facade模式
2019/11/20 Python
使用 Python 写一个简易的抽奖程序
2019/12/08 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
运动会入场词50字
2014/02/20 职场文书
高中家长寄语
2014/04/02 职场文书
建国大业观后感
2015/06/01 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
golang协程池模拟实现群发邮件功能
2021/05/02 Golang
使用refresh_token实现无感刷新页面
2022/04/26 Javascript