设置cookie登陆超时

思路,在首页设置求取登陆的时间记住,在其他页面获取当前时间和登陆时间两者比较大于多少显示登陆超时

首页设置如下

//设置cookie

addCookie('logDate',logDate,0);

//添加一个cookie

    function addCookie(name,value,expireHours){

        var cookieStr=name+"="+escape(value);

        if(expireHours>0){   //为0时不设定过期时间,浏览器关闭时cookie自动消失

            var date=new Date();

            date.setTime(date.getTime()+expireHours*3600*1000);

            cookieStr=cookieStr+";expire="+date.toGMTString();

        }

        document.cookie=cookieStr;

    }

在其他页面获取登陆时间logDate,设置如下

 

$(document).ready(function()
        {
            var logDate=getCookie("logDate");//得到cookie
            compare_hms(logDate);//判断是否超时
            }
        }); 

//获取指定名称的cookie值

function getCookie(name){

    var strCookie=document.cookie;

    var arrCookie=strCookie.split("; ");

    for(var i=0;i<arrCookie.length;i++){

        var arr=arrCookie[i].split("=");

        if(arr[0]==name) return unescape(arr[1]);

    }

    return "";

}

function compare_hms(date){
    var nowDate1=new Date();         //现在时间
    var nowDates=new Date(date);   //登录时间

    var now= nowDate1.getHours()*60*60+ nowDate1.getMinutes()*60+ nowDate1.getSeconds();     
    var host= nowDates.getHours()*60*60+ nowDates.getMinutes()*60+ nowDates.getSeconds();     
      var str=parseInt(host-now);
      var s_str="";
      if(str<0){
          s_str=str.toString().replace("-","");
      }else{
          s_str=str;
      }
    
      if(parseInt(s_str)>1800)
      {
        alert("登录超时.请重新登录!");
          window.location.href="http://XXXXXXX" ;
      }else{
          delCookie('logDate');//删除旧的
         var nowD=nowDate1.getFullYear()+"/"+(nowDate1.getMonth()+1)+"/"+nowDate1.getDate()+" "+nowDate1.getHours()+":"+ nowDate1.getMinutes()+":"+ nowDate1.getSeconds(); 
          addCookie('logDate',nowD,0);//重新存一遍新登陆时间
      }
   
}

 

function delCookie(name)//删除cookie
{
var exp = new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if(cval!=null)
document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}

    

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值