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 相关文章推荐
了解jQuery技巧来提高你的代码
Jan 08 Javascript
使用node.js 获取客户端信息代码分享
Nov 26 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
Dec 07 Javascript
原生js实现addClass,removeClass,hasClass方法
Apr 27 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
JQuery组件基于Bootstrap的DropDownList(完整版)
Jul 05 Javascript
浅谈jQuery为哪般去掉了浏览器检测
Aug 29 Javascript
jQuery.cookie.js使用方法及相关参数解释
Mar 06 Javascript
基于Vue.js 2.0实现百度搜索框效果
Dec 28 Javascript
利用d3.js实现蜂巢图表带动画效果
Sep 03 Javascript
微信小程序通过websocket实时语音识别的实现代码
Aug 19 Javascript
JavaScript中CreateTextFile函数
Aug 30 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通过API获取手机号码归属地
2015/05/28 PHP
在Mac上编译安装PHP7的开发环境
2015/07/28 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
浅析PHP中json_encode与json_decode的区别
2020/07/15 PHP
jQuery 跨域访问问题解决方法
2009/12/02 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
js树插件zTree获取所有选中节点数据的方法
2015/01/28 Javascript
JS+CSS实现淡入式焦点图片幻灯切换效果的方法
2015/02/26 Javascript
基于vue实现分页/翻页组件paginator示例
2017/03/09 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
webpack打包并将文件加载到指定的位置方法
2018/02/22 Javascript
使用 Angular RouteReuseStrategy 缓存(路由)组件的实例代码
2019/11/01 Javascript
vue实现购物车选择功能
2020/01/10 Javascript
解决Vue-Router升级导致的Uncaught (in promise)问题
2020/08/07 Javascript
在项目vue中使用echarts的操作步骤
2020/09/07 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
2020/10/17 Javascript
[00:27]DOTA2战队VP、Secret贺新春
2018/02/11 DOTA
Python中的字典遍历备忘
2015/01/17 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
python实现简易数码时钟
2021/02/19 Python
20行python代码的入门级小游戏的详解
2019/05/05 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
python中time包实例详解
2021/02/02 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
在C语言中"指针和数组等价"到底是什么意思?
2014/03/24 面试题
大学毕业的自我鉴定
2013/10/08 职场文书
毕业自我鉴定
2013/11/05 职场文书
学生会主席事迹材料
2014/01/28 职场文书
IT工程师岗位职责
2014/07/04 职场文书
个人批评与自我批评
2014/10/15 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
python中的装饰器该如何使用
2021/06/18 Python
Oracle 死锁的检测查询及处理
2021/09/25 Oracle
SpringBoot+Redis实现布隆过滤器的示例代码
2022/03/17 Java/Android
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库