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客户端将指定区域导出到Word、Excel的代码
Oct 22 Javascript
Jquery实战_读书笔记2 选择器
Jan 22 Javascript
利用jquery包将字符串生成二维码图片
Sep 12 Javascript
JavaScript数组合并的多种方法
May 22 Javascript
最常用的jQuery表单验证(简单)
May 23 jQuery
基于Vue过渡状态实例讲解
Sep 14 Javascript
Javascript 对象(object)合并操作实例分析
Jul 30 Javascript
uni app仿微信顶部导航条功能
Sep 17 Javascript
小程序两种滚动公告栏的实现方法
Sep 17 Javascript
ionic3双击返回退出应用的方法
Sep 17 Javascript
JS实现躲避粒子小游戏
Jun 18 Javascript
vue如何清除浏览器历史栈
May 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
Apache设置虚拟WEB
2006/10/09 PHP
让你同时上传 1000 个文件 (二)
2006/10/09 PHP
分享一下贝贝成长进度的php代码
2012/09/14 PHP
基于php实现七牛抓取远程图片
2015/12/01 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
jquery 仿QQ校友的DIV模拟窗口效果源码
2010/03/24 Javascript
几个有趣的Javascript Hack
2010/07/24 Javascript
js 优化次数过多的循环 考虑到性能问题
2011/03/05 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
jquery mobile页面跳转后样式丢失js失效的解决方法
2014/09/06 Javascript
分享9个最好用的JavaScript开发工具和代码编辑器
2015/03/24 Javascript
JavaScript获取页面中表单(form)数量的方法
2015/04/03 Javascript
jQuery插件jquery-barcode实现条码打印的方法
2015/11/25 Javascript
js实现根据身份证号自动生成出生日期
2015/12/15 Javascript
Node.js数据库操作之连接MySQL数据库(一)
2017/03/04 Javascript
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
2017/03/21 jQuery
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
vue实现记事本功能
2019/06/26 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
2020/08/31 Javascript
一起来了解一下JavaScript的预编译(小结)
2021/03/01 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
在Linux中通过Python脚本访问mdb数据库的方法
2015/05/06 Python
python的pytest框架之命令行参数详解(下)
2019/06/27 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
python各种excel写入方式的速度对比
2020/11/10 Python
数以千计的折扣工业产品:ESE Direct
2018/05/20 全球购物
空字符串(“”)和null的区别
2012/11/13 面试题
2014年计划生育工作总结
2014/11/14 职场文书
音乐教师个人工作总结
2015/02/06 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
导师鉴定意见
2015/06/05 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
导游词之上海豫园
2019/10/24 职场文书
Redis 彻底禁用RDB持久化操作
2021/07/09 Redis
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android
使用Python拟合函数曲线
2022/04/14 Python