如何在重定向到javascript中的另一个页面之前删除Cookie?

时间:2012-03-22 11:48:39

标签: javascript cookies

我有这个代码来设置和检查cookie,在重定向之前(如果用户点击取消按钮)我需要取消设置或删除cookie。

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 "";
}

function setCookie(c_name, value, expiredays) {
    var exdate = new Date()
    exdate.setDate(exdate.getDate() + expiredays)
    document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + exdate.toGMTString())
}

function checkCookie() {
    var todaysdate = new Date()
    var day = todaysdate.getDay()

    switch (day) {
    case 1:
        day = "Monday"
        break
    case 2:
        day = "Tuesday"
        break
    case 3:
        day = "Wednesday"
        break
    case 4:
        day = "Thursday"
        break
    case 5:
        day = "Friday"
        break
    case 6:
        day = "Saturday"
        break
    case 0:
        day = "Sunday"
        break
    }

    var thedate = getCookie('thedate')

    if (thedate != null && thedate != "") {
        if (day == thedate) {} else {
            alert('')
        }
    } else {
        thedate = day

        if (thedate != null && thedate != "") {
            setCookie('thedate', thedate, 365)
            // alert('dsadasdasdasdasdasdasd')
            var answer = confirm("Please click on OK to continue loading my page, or CANCEL to be directed to the Yahoo site.")
            if (!answer) {

                window.location = "http://www.yahoo.com/";
            }

        }
    }
}

如何取消设置Cookie c_name

我确信这很容易,但是我无法取消这个cookie。

2 个答案:

答案 0 :(得分:1)

只需设置一个空cookie并将其设置为在今天之前过期(即-1):

if (!answer) {
   setCookie('thedate', '', -1); //using your already existing setCookie function
   window.location="http://www.yahoo.com/";
}

More details on cookies here

答案 1 :(得分:0)

function loaded()
{
    document.cookie = "v0=1;";
    document.cookie = "v1=2;";

    alert(document.cookie);
}

function deletecook()
{
    var d = new Date();
    document.cookie = "v0=1;expires=" + d.toGMTString() + ";" + ";";

    alert(document.cookie);
}