js设置cookie的(js设置cookie的有效期)

本文目录一览:

js怎么设置cookie得到cookie删除cookie

avaScript是运行在客户端的脚本,因此一般是不能够设置Session的,因为Session是运行在服务器端的。

而cookie是运行在客户端的,所以可以用JS来设置cookie.

假设有这样一种情况,在某个用例流程中,由A页面跳至B页面,若在A页面中采用JS用变量temp保存了某一变量的值,在B页面的时候,同样需要使用JS来引用temp的变量值,对于JS中的全局变量或者静态变量的生命周期是有限的,当发生页面跳转或者页面关闭的时候,这些变量的值会重新载入,即没有达到保存的效果。解决这个问题的最好的方案是采用cookie来保存该变量的值,那么如何来设置和读取cookie呢?

首先需要稍微了解一下cookie的结构,简单地说:cookie是以键值对的形式保存的,即key=value的格式。各个cookie之间一般是以“;”分隔。

JS设置cookie:

假设在A页面中要保存变量username的值(“jack”)到cookie中,key值为name,则相应的JS代码为:

复制代码代码如下:

document.cookie=”name=”+username;

JS读取cookie:

假设cookie中存储的内容为:name=jack;password=123

则在B页面中获取变量username的值的JS代码如下:

var username=document.cookie.split(“;”)[0].split(“=”)[1];

//JS操作cookies方法!

//写cookies

function setCookie(name,value)

{

var Days = 30;

var exp = new Date();

exp.setTime(exp.getTime() + Days*24*60*60*1000);

document.cookie = name + “=”+ escape (value) + “;expires=” + exp.toGMTString();

}

读取cookies

function getCookie(name)

{

var arr,reg=new RegExp(“(^| )”+name+”=([^;]*)(;|$)”);

if(arr=document.cookie.match(reg))

return unescape(arr[2]);

else

return null;

}

删除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();

}

//使用示例

setCookie(“name”,”hayden”);

alert(getCookie(“name”));

//如果需要设定自定义过期时间

//那么把上面的setCookie 函数换成下面两个函数就ok;

//程序代码

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();

}

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;

}

}

//这是有设定过期时间的使用示例:

//s20是代表20秒

//h是指小时,如12小时则是:h12

//d是天数,30天则:d30

setCookie(“name”,”hayden”,”s20″);

js 怎么重新设置cookie

这个看你有没有使用cookie的插件

如果使用,可以看看具体的插件使用指导

例如:不同的 系统可能会用不同的创建,像傲隆盛 jquery.cookie.js或者看如下的小案例:

1.生成一个cookie,名称为user,内容为liayun:

$.cookie(“user”,”liayun”);

2.cookie的参数设置:

$.cookie(“user”,”liayun”, {

expires:7, //过期时间,7天后过期

path:”/”, //根目录,path的作用就是设置路径,根目录到底所谓何???

});

$.cookie(“aaa”,”bbb”, {

//domain:”” //设置域名,可以发现名为aaa的cookie并没有建立,为何???

secure:true //发送条件:仅限加密连接 默认为false,需要使用安全协议https

});

综上所述,除了expires这个参数有用,其他根本就没什么鸟用!!!

3.读取cookie数据:

alert($.cookie(“user”)); //liayun

alert($.cookie(“aaa”)); //undefined,名为aaa的cookie的参数secure为true,因为需要使用安全协议https,而我们一般使用http协议,所以返回undefined

$.cookie(“ccc”,””); //自动编码为:%E6%9D%8E%E9%98%BF%E6%98%80

alert($.cookie(“ccc”)); //自动解码为:

4.关闭编码/解码,默认为false:

$.cookie.raw = true;

$.cookie(“ddd”,””); //没有自动编码,

alert($.cookie(“ddd”)); //

5.读取所有cookie数据:

alert($.cookie());

如何用js修改页面cookies

直接赋值。不设置时间的话,默认浏览器关闭cookie失效

document.cookie = “name=”+value;

写个函数动态调用

//设置或添加cookie

function setCookie(name,value,time){ var str = name + “=” + escape(value); if(time 0){ var date = new Date(); var ms = time*3600*1000; date.setTime(date.getTime() + ms); str += “; expires=” + date.toGMTString(); } document.cookie = str;}//获取cookie function getCookie(name){ //cookie中的数据都是以分号加空格区分开 var arr = document.cookie.split(“; “); for(var i=0; iarr.length; i++){ if(arr[i].split(“=”)[0] == name){ return arr[i].split(“=”)[1]; } } //未找到对应的cookie则返回空字符串 return ”; }//删除cookie function removeCookie(name){ document.cookie = name+”=;expires=”+(new Date(0)).toGMTString();}

如何用js来操作cookie呢?

js操作COOKIE,直接给document加上cookie就可以了,但是一般如果单个的加会很麻烦所以一般会直接写好一个函数,可以直接操作cookie,这样就很方便了

setCookie这个是写入cookie,第一个是名称,第二个是cookie值,第三个是过期时间

getCookie这个是查找cookie;

removeCookie这是你需要删除的cookie;

function setCookie(name, value, iDay) 

{

var oDate=new Date();

oDate.setDate(oDate.getDate()+iDay);

document.cookie=name+’=’+encodeURIComponent(value)+’;expires=’+oDate;

}

function getCookie(name)

{

var arr=document.cookie.split(‘; ‘);

var i=0;

for(i=0;iarr.length;i++)

{

//arr2-[‘username’, ‘abc’]

var arr2=arr[i].split(‘=’);

if(arr2[0]==name)

{

var getC = decodeURIComponent(arr2[1]);

return getC;

}

}

return ”;

}

function removeCookie(name)

{

setCookie(name, ‘1’, -1);

}

js中如何设置cookie的保存时间呢?

设置cookie的保存时间,通过cookie的expires性质指定一个终止时间就可以了。也就是说,你在设置cookie的时候,你的cookie字串要像下面这样组合:

var d= new Date();

d.setHours(d.getHours() + (24 * 30)); //保存一个月

document.cookie = “visited=yes; expires=” + d.toGMTString();

这样你的cookie就能保存一个月了,下面是我测试用的代码,你自己看看是否有其他帮助,有的话尽管拿去:

html

  head

    script language=”javascript”

      function Window_Load(){

       setCookie(“name”,”111″); //临时cookie

       setCookie(“age”,”222″,24 * 7);  //保存7天

       setCookie(“address”,”333″,24,”/”); //保存1天,path为根目录

       

       //设定cookie为安全的(secure=true),只能在HTTPS或与其他安全协议

       //连接在一起的时候才被传输

       setCookie(“phone”,”444″,24,”/”,”.”,false);

       alert(document.cookie);

       alert(getCookie(“age”));

       

       //删除名称为”age”的cookie

       removeCookie(“age”) 

       alert(document.cookie);

       //删除名称为”address”的cookie,因为设置时设定的path,所以删除

       //时也需要传入对应path

       removeCookie(“address”,”/”) 

       alert(document.cookie);  

      }

      

      function setCookie(name,value,hours,path,domain,secure){

       var cdata = name + “=” + value;

       if(hours){

       var d = new Date();

       d.setHours(d.getHours() + hours);

       cdata += “; expires=” + d.toGMTString();

       }

       cdata +=path ? (“; path=” + path) : “” ;

       cdata +=domain ? (“; domain=” + domain) : “” ;

       cdata +=secure ? (“; secure=” + secure) : “” ;

       document.cookie = cdata;

      }

      

      function getCookie(name){

       var reg = eval(“/(?:^|;\\s*)” + name + “=([^=]+)(?:;|$)/”); 

       return reg.test(document.cookie) ? RegExp.$1 : “”;

      }

      

      function removeCookie(name,path,domain){

       this.setCookie(name,””,-1,path,domain);

      }

       

    /script

  /head

  body onload=”Window_Load();”

  

  /body

/html

原创文章,作者:J1U0D,如若转载,请注明出处:https://www.506064.com/n/127932.html

相关推荐

  • js代码显示行号,怎么显示代码行号?

    本文目录一览: 1、求JS代码控制显示行数,并分页显示 2、JS实现:table点击鼠标如何获取行号跟该单元的值? 3、js如何取行号? 4、如何使用highlight.js给代码…

    编程 2024-11-18
  • js特殊符号代码(js标识符是什么意思)

    本文目录一览: 1、JS正则表达式中有哪些特殊字符,这些特殊字 2、谁有JS过滤特殊字符的代码,发我一份,特殊字符类似于(!@#¥%……&*?)等等,就是类似这种, 3、怎…

    编程 2024-12-22
  • 如何提高js的编程水平(如何提高编程技术)

    本文目录一览: 1、怎么提高javascript编程水平? 2、js软件开发工程师的逻辑思维可以怎么培养? 3、怎么学好js? 4、看完javascript高级程序设计后怎么尽快提…

    编程 2024-10-03
  • Node.js ES6编程指南

    Node.js是由Ryan Dahl于2009年开发的,采用Chrome V8引擎的JavaScript运行环境。ES6是JavaScript的新版标准,通过增加一些新语法和一些新…

    编程 2024-10-03
  • JS过滤对象中的属性

    一、过滤空值属性 在处理对象时,可能会出现属性值为空的情况,这些属性在实际应用中可能没有太大的意义,甚至可能导致一些错误。因此,过滤空值属性是很有必要的。 const obj1 =…

    编程 2024-12-12
  • json数据库编辑器(js json编辑器)

    1、react–实现简易json编辑器 2、求JSON Viewer编辑器免安装版下载 3、json精灵编辑器载入失败 分析      由于个人不太喜欢一切皆props…

    编程 2024-10-03
  • 使用Node.js和Axios进行网络请求的最佳实践

    Node.js 和 Axios 都是非常流行和常用的工具,它们的结合可以帮助我们更加便捷地进行网络请求,让开发变得更加高效和简单。在本篇文章中,我们将从选取网络请求类型、如何设置请…

    编程 2024-12-12
  • js使用二进制流下载pdf文件(js解析二进制文件流)

    本文目录一览: 1、JS 怎么读取二进制文件 2、Vue中前端接收二进制文件流实现预览PDF 3、java 数据库中2进制流image转成PDF 4、js实现各种文件下载,文件类型…

    编程 2024-12-10
  • Node.js文件读取:如何同步读取文件内容

    一、为什么需要同步读取文件内容 在Node.js应用中,文件读写操作是非常常见的操作。但是,在处理文件读取的时候,有时会遇到需要同步读取文件内容的情况。为什么需要同步读取文件内容呢…

    编程 2024-12-15
  • ie控制台调试js,ie8 控制台

    本文目录一览: 1、如何在IE中调试JS 2、ie8 javascript调试 3、怎么用IE调试js文件 4、怎么在ie里打开javascript调试 如何在IE中调试JS 1、…

    编程 2024-12-09