JavaScript cookie 错误

标签 javascript html cookies

今天我试图学习如何使用 cookie,并且进展顺利,直到我尝试制作一个 cookie 来保存您在页面上的总秒数,包括之前的访问。它不是像 1、2、3 那样计数,而是像 1、11、111、1111。这是我的代码:

<!DOCTYPE html>
<html>
<head>
<script>

function setCookie(cname,cvalue,exdays) {
    var d = new Date();
    d.setTime(d.getTime() + (exdays*24*60*60*1000));
    var expires = "expires=" + d.toGMTString();
    document.cookie = cname+"="+cvalue+"; "+expires;
}

function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
        }
    }
    return "";
}

var value = getCookie('value');

window.setInterval(function(){

    value = value + 1;
    document.getElementById("value").innerHTML = value;
    setCookie("value", value, 365);

}, 1000);

</script>
</head>
<body>
<p>
<span id="value">0</span>
</body>
</html>

最佳答案

value 是一个字符串,所以 + 是连接,而不是加法。使用:

value++;

(这会将其转换为数字,以便可以递增)

value = parseInt(value, 10) + 1;

关于JavaScript cookie 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32194819/

相关文章:

javascript - 浏览器使用 FontFace 延迟加载字体

javascript - 通过合并对象属性在表中添加列

javascript - 如何卸载/删除 bootstrap-markdown 编辑器?

javascript - 以 Angular 动态地将元素添加到DOM

html - 在以下 html 代码中需要帮助,使其成为一次滚动 4 个图像的 flexislider

HTML:如何对齐列表中的多个元素?

javascript - 如何在 typescript 中使用外部javascript库-Angular 4

javascript - 从电子邮件访问 cookie?

java - 如何使用 Jsoup 登录我的大学网站?

javascript - 在react中检查cookie是否过期并在过期后触发操作