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)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
J1U0DJ1U0D
上一篇 2024-10-03 23:24
下一篇 2024-10-03 23:24

相关推荐

  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • 解析js base64并转成unit

    本文将从多个方面详细介绍js中如何解析base64编码并转成unit格式。 一、base64编码解析 在JavaScript中解析base64编码可以使用atob()函数,它会将b…

    编程 2025-04-29
  • Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的解决方法

    本文将解决Node.js使用Body-Parser处理HTTP POST请求时,特殊字符无法返回的问题。同时,给出一些相关示例代码,以帮助读者更好的理解并处理这个问题。 一、问题解…

    编程 2025-04-29
  • Python载入Cookie错误解决方法用法介绍

    本文将从多个方面详细阐述Python载入Cookie错误的解决方法,希望能对读者有所帮助。 一、Cookie错误常见原因 1、Cookie过期:当Cookie过期时,载入Cooki…

    编程 2025-04-29
  • Cookie是后端生成的吗?

    是的,Cookie通常是由后端生成并发送给客户端的。下面从多个方面详细阐述这个问题。 一、什么是Cookie? 我们先来简单地了解一下什么是Cookie。Cookie是一种保存在客…

    编程 2025-04-28
  • t3.js:一个全能的JavaScript动态文本替换工具

    t3.js是一个非常流行的JavaScript动态文本替换工具,它是一个轻量级库,能够很容易地实现文本内容的递增、递减、替换、切换以及其他各种操作。在本文中,我们将从多个方面探讨t…

    编程 2025-04-28
  • JS图片沿着SVG路径移动实现方法

    本文将为大家详细介绍如何使用JS实现图片沿着SVG路径移动的效果,包括路径制作、路径效果、以及实现代码等内容。 一、路径制作 路径的制作,我们需要使用到SVG,SVG是可缩放矢量图…

    编程 2025-04-27
  • 如何使用JS调用Python脚本

    本文将详细介绍通过JS调用Python脚本的方法,包括使用Node.js、Python shell、child_process等三种方法,以及在Web应用中的应用。 一、使用Nod…

    编程 2025-04-27
  • 如何反混淆美团slider.js

    本文将从多个方面详细阐述如何反混淆美团slider.js。在开始之前,需要明确的是,混淆是一种保护JavaScript代码的方法,其目的是使代码难以理解和修改。因此,在进行反混淆操…

    编程 2025-04-27
  • Python要学JS吗?

    Python和JavaScript都是非常受欢迎的编程语言。然而,你可能会问,既然我已经学了Python,是不是也需要学一下JS呢?在本文中,我们将围绕这个问题进行讨论,并从多个角…

    编程 2025-04-27

发表回复

登录后才能评论