javascript - js设置cookie过期时间设置无效?

查看:663
本文介绍了javascript - js设置cookie过期时间设置无效?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

我用js设置cookie的时候expires总是设置不成功

window.onload = function(){
            var exp = new Date();
            exp.setTime(exp.getTime() + 30 * 24 * 60 * 60 * 1000);
            exp = exp.toGMTString();
            function setCookie(key, value, expires){
                var cookieStr = key + "=" + value;
                if(expires){
                    cookieStr += "; " + "max-age" + "=" + 1000;
                }
                // cookieStr += "; domain=baidu.com; path=/";
                document.cookie = cookieStr;
                console.log(document.cookie);
            }
            function getCookie(key){
                var cookieName = key + "=";
                var startIndex = document.cookie.indexOf(cookieName);
                var value = null;
                if(startIndex != -1){
                    var endIndex = document.cookie.indexOf(";", startIndex);
                    if(endIndex == -1){
                        endIndex = document.cookie.length;
                    }
                    value = document.cookie.substring(startIndex + cookieName.length, endIndex);
                }
                return value;
            }
            if(!getCookie("name")){
                document.getElementById("result").innerHTML = "Welcome!";
                setCookie("name", "xiaota", exp);
            }
            else{
                document.getElementById("result").innerHTML = "Welcome " + getCookie("name") + "!";
            }

调用setCookie函数的时候,传入时间,console.log打印的结果并没有expires,不知道怎么回事。

解决方案

其实过期时间已经设好了,但是max-ageexpires是不可见的。document.cookie里只能看到cookie的key:value

目前大多数浏览器都可以查看cookie的max-ageexpires

以Chrome为例:在devTool - Application - Storage - Cookies里面可以看到cookie的所有属性。

这篇关于javascript - js设置cookie过期时间设置无效?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆