萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> javascript實現獲取cookie過期時間的變通方法

javascript實現獲取cookie過期時間的變通方法

 javascript和動態頁無法獲取cookie過期的時間,過期時間由浏覽器管理,javascript和動態頁只能設置過期時間,無法通過document.cookie(javascript)或者Cookie.Expires(asp.net)屬性獲取到。

 

代碼如下:
<%@page language="C#" Debug="true"%>
<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        HttpCookie hc = Request.Cookies["abc"];
        if (hc != null)
        {
            Response.Write(hc.Expires);//0001-1-1 0:00:00
            Response.End();
           
        }
    }
</script>

 

asp.net的cookie雖然有Expires屬性,但是Response.Write輸出Expires屬性得到的是0001-1-1 0:00:00(DateTime.MinValue),這個是由於浏覽器並沒有發送cookie的過期時間給服務器,所以用DateTime.MinValue來填充cookie的Expires屬性。
 
一定要獲取過期時間,需要通過另外一個cookie值來記錄對應cookie的過期時間。如下:

代碼如下:
<script>
    var d = new Date();
    d.setHours(d.getHours() + 1); //1小時候過期
    document.cookie = 'testvalue=123;expires=' + d.toGMTString(); //存儲cookie值
    document.cookie = 'testexp=' + escape(d.toLocaleString()) + ';expires=' + d.toGMTString(); //存儲cookie過期時間,要獲取testvalue這個cookie的過期時間,通過獲取testexp這個cookie來實現
   
</script>
copyright © 萬盛學電腦網 all rights reserved