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的AJAX用法
May 10 Javascript
加载jQuery后$冲突的解决办法
Jul 09 Javascript
js实现类似新浪微博首页内容渐显效果的方法
Apr 10 Javascript
jquery UI Datepicker时间控件的使用方法(终结版)
Nov 07 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
Nov 30 Javascript
JS前端笔试题分析
Dec 19 Javascript
underscore之Chaining_动力节点Java学院整理
Jul 10 Javascript
Vue.js通用应用框架-Nuxt.js的上手教程
Dec 25 Javascript
微信小程序使用npm支持踩坑
Nov 07 Javascript
关于在LayUI中使用AJAX提交巨坑记录
Oct 25 Javascript
js异步接口并发数量控制的方法示例
Nov 22 Javascript
VUE之图片Base64编码使用ElementUI组件上传
Apr 09 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
模仿OSO的论坛(五)
2006/10/09 PHP
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
一个比较不错的PHP日历类分享
2014/11/18 PHP
详解PHP对象的串行化与反串行化
2016/01/24 PHP
Zend Framework入门教程之Zend_Session会话操作详解
2016/12/08 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
杨氏矩阵查找的JS代码
2013/03/21 Javascript
JavaScript中“过于”犀利地for/in循环使用示例
2013/10/22 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
JavaScript实现同步于本地时间的动态时间显示方法
2015/02/02 Javascript
js+canvas实现动态吃豆人效果
2017/03/22 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
详解Node.js使用token进行认证的简单示例
2020/05/25 Javascript
微信小程序 button样式设置为图片的方法
2020/06/19 Javascript
vue 验证两次输入的密码是否一致的方法示例
2020/09/29 Javascript
Python3基础之函数用法
2014/08/13 Python
python实现带错误处理功能的远程文件读取方法
2015/04/29 Python
Python操作串口的方法
2015/06/17 Python
django开发之settings.py中变量的全局引用详解
2017/03/29 Python
python通过zabbix api获取主机
2018/09/17 Python
Python实现将Excel转换成为image的方法
2018/10/23 Python
NumPy 基本切片和索引的具体使用方法
2019/04/24 Python
关于Python作用域自学总结
2019/06/10 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
Python实现一个优先级队列的方法
2020/07/31 Python
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
开会迟到检讨书
2014/02/03 职场文书
论文指导教师评语
2014/04/28 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
政治学求职信
2014/06/03 职场文书
股份转让协议书范本
2015/01/27 职场文书
实现GO语言对数组切片去重
2022/04/20 Golang