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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
J1U0D的头像J1U0D
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相关推荐

  • Python列表添加元素详解

    1. 简介 Python是一门高级动态语言,常用于数据处理、Web开发、人工智能等领域。其中列表是Python中的一种常用数据结构,可以动态地添加、删除和修改元素。在这篇文章中,我…

    编程 2024-11-30
  • 如何更新Python版本

    一、如何更新Python版本 Python是一种广泛使用的编程语言,随着新的Python版本不断推出,更新Python版本也愈发重要,因为新版本带来了更多的功能和修复了一些错误。下…

    编程 2024-10-04
  • mingw32-make.exe详解

    mingw32-make.exe是一个非常重要的工具,在开发过程中起着举足轻重的作用。它是一个C/C++的自动构建工具,能够根据Makefile自动完成代码的编译、链接、安装等工作…

    编程 2024-11-25
  • inotify-tools:Linux下文件系统监控利器

    一、概述 inotify-tools是一款用于Linux的文件系统监控工具,它可以让开发者监听文件系统上特定目录或文件上的事件,比如文件的创建、删除、修改等。inotify-too…

    编程 2024-12-02
  • Python使用什么语句实现循环跳出

    引言 在Python编程中,循环是非常常见的一种结构,然而有时候我们需要在循环中跳出循环或者终止循环,以此实现某些控制的逻辑。那么,Python使用什么语句实现循环跳出呢?本文将会…

    编程 2024-11-02
  • Java foreach index使用指南

    一、foreach基础概念 foreach是Java中的一个关键字,用来遍历集合或数组中的元素。在遍历数组时,我们经常需要访问数组的下标,这时就需要使用foreach index,…

    编程 2024-10-04
  • 探究resize事件

    一、resize事件的概念和基础用法 resize事件是当浏览器窗口大小改变时触发的事件,它通常被用来响应窗口大小变化的操作、调整DOM元素的布局和重新计算元素宽高等。在基础的使用…

    编程 2024-11-03
  • 查看mysql数据库视图,sql数据库视图怎么查询

    本文目录一览: 1、mysql 视图 2、MySQL视图 3、怎么知道mysql 里是表还是视图?? 4、mysql 如何查看视图 5、如何判断mysql 中视图是否存在? 6、m…

    编程 2024-12-02
  • java字符串解析,java字符串解析引擎

    本文目录一览: 1、JAVA字符串解析 2、java中怎么把字符串解析成10进制数 3、Java解析字符串 4、java解析字符串 JAVA字符串解析 给代码,把文本存在input…

    编程 2024-11-13
  • 好像java不支持(java不支持的是)

    本文目录一览: 1、手机不支持Java怎么办? 2、浏览器不支持Java如何解决? 3、java中利用sql查询数据库中的表,语句如下:但是java好像不支持sqlserver的d…

    编程 2024-12-09

发表回复

登录后才能评论