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 相关文章推荐
JQuery1.4+ Ajax IE8 内存泄漏问题
Oct 15 Javascript
javascript中动态加载js文件多种解决办法总结
Nov 15 Javascript
javascript模拟枚举的简单实例
Mar 06 Javascript
实例详解jQuery Mockjax 插件模拟 Ajax 请求
Jan 12 Javascript
使用BootStrapValidator完成前端输入验证
Sep 28 Javascript
ReactJS实现表单的单选多选和反选的示例
Oct 13 Javascript
基于vue-cli配置lib-flexible + rem实现移动端自适应
Dec 26 Javascript
使用 vue-i18n 切换中英文效果
May 23 Javascript
vue之将echart封装为组件
Jun 02 Javascript
JavaScript设计模式之代理模式简单实例教程
Jul 03 Javascript
vue简单练习 桌面时钟的实现代码实例
Sep 19 Javascript
Element Backtop回到顶部的具体使用
Jul 27 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
融入意大利的咖啡文化
2021/03/03 咖啡文化
生成卡号php代码
2008/04/09 PHP
基于php-fpm 参数的深入理解
2013/06/03 PHP
关于PHP内存溢出问题的解决方法
2013/06/25 PHP
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
2014/07/11 PHP
php带抄送和密件抄送的邮件发送方法
2015/03/20 PHP
php把数组值转换成键的方法
2015/07/13 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
PHP bin2hex()函数基础实例讲解
2019/02/11 PHP
JS焦点图切换,上下翻转
2011/05/12 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
图片动画横条广告带上下滚动的JS代码
2013/10/25 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
javascript中hasOwnProperty() 方法使用指南
2015/03/09 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
基于jquery实现省市联动效果
2015/11/23 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
js中遍历Map对象的方法
2016/07/27 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
Python 离线工作环境搭建的方法步骤
2019/07/29 Python
python基于pexpect库自动获取日志信息
2021/02/01 Python
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
波兰最大的电商平台:Allegro.pl
2021/02/06 全球购物
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
商场中秋节活动方案
2014/02/07 职场文书
手机银行营销方案
2014/03/14 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
夫妻吵架保证书
2015/05/08 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
python装饰器代码解析
2022/03/23 Python
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android