用户注销时如何删除此cookie?

时间:2021-03-02 08:25:41

标签: javascript jquery cookies

这里有人可以告诉我如何摆脱这个cookie吗?我将它设置为 1 小时,但计时器仍然在滴答作响,所以我需要一种在用户单击注销时销毁此 cookie 的方法?

这是代码

var createCookie = function(name, value, days) {
    var expires;
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 1 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
    }
    else {
        expires = "";
    }
    document.cookie = name + "=" + value + expires + "; path=/";
}

function getCookie(c_name) {
    if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
            c_start = c_start + c_name.length + 1;
            c_end = document.cookie.indexOf(";", c_start);
            if (c_end == -1) {
                c_end = document.cookie.length;
            }
            return unescape(document.cookie.substring(c_start, c_end));
        }
    }
    return "";
}

$(document).ready(function () {
    var startTime;
    var timeout;
    var pauseTime = 0;
    var mils;
    var paused = false;
    var count = 0;

    $('#logged').html('00:00:00');
    var btn = $(this);

    if (getCookie("logged") != "" && getCookie("logged") != "NaN") {
        startTime = getCookie("logged");
    } else {
        startTime = Date.now();
        createCookie ("logged", startTime);
    }

    clock();

    function clock() {
        var curTime = Date.now();
        mils = (curTime - startTime) + pauseTime;
        var logged = milToTime(mils);
        formatTime(logged);

        var outStr = logged.h + ':' + logged.m + ':' + logged.s;
        document.getElementById('logged').innerHTML = outStr;

        timeout = setTimeout(clock, 20);
    }
//    $(window).bind('beforeunload', function () {
//        return 'Are you sure you want to leave?';
//    });

    function formatTime(logged) {
        for (var i in logged) {
            if (i == "mils") {
                if (logged[i] < 1) {
                    logged[i] = "000";
                } else
                    if (logged[i] < 10) {
                        logged[i] = "00" + logged[i];
                    } else
                        if (logged[i] < 100) {
                            logged[i] = "0" + logged[i];
                        }
            } else if (logged[i] < 10) {
                logged[i] = "0" + logged[i];
            }
        }
        return logged;
    }

    function milToTime(mil) {
        mi = mil % 1000;
        seconds = parseInt(mil / 1000) % 60;
        minutes = parseInt(mil / 1000 / 60) % 60;
        hours = parseInt(mil / 1000 / 3600);
        return { s: seconds, m: minutes, h: hours, mils: mi };
    }

});

它不像我没有尝试过。我在 logout.php 中设置了一个代码

setcookie("logged", "", time()-3600);

但是cookie仍然没有被破坏:(

非常感谢您的帮助

0 个答案:

没有答案