富贵资源网 Design By www.hznty.com

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>

富贵资源网 Design By www.hznty.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
富贵资源网 Design By www.hznty.com