0

我有一个 Home.aspx 和一个 AboutUs.html 页面。当我点击注销我的 AboutUs 页面时,当我回到主页时,我的 cookie 没有被清除。下面是我用来保存和删除 cookie 的一段代码

    var SaveCookie = function(zNameP, zValueP, IsPersistenceP)
    {
        IsPersistenceP = typeof IsPersistenceP !== 'undefined' ? IsPersistenceP : false;
        if (IsPersistenceP)
            SavePersistenceCookie(zNameP, zValueP);
        else
            document.cookie = zNameP + "=" + escape(zValueP);
    }
    function SavePersistenceCookie(zNameP, zValueP)
    {
        var ExpirationDate = new Date();
        ExpirationDate.setDate(ExpirationDate.getYear() + 1); //1 year
        var CookieValueL = escape(zValueP) + "; expires=" + ExpirationDate.toGMTString();
        document.cookie = zNameP + "=" + CookieValueL;
    }

    function DeleteCookie(zNameP)
    {
        document.cookie = zNameP + '=; expires=Thu, 01-Jan-70 00:00:01 GMT;';

    }

在 aboutus.html 中清除它后,我在主页中获取 cookie 值。我在做什么?

4

1 回答 1

0

path由于cookie 定义的一部分,删除 cookie 有时可能是一件有趣的事情。如果path您在 cookie 到期时设置的与设置的原始 cookie 不匹配,则不会清除它。您应该path=/;在删除 cookie 时添加(见下文),并使用 Firebug/Chrome 开发工具/Web 开发工具栏/其他任何东西仔细检查path浏览器中的 cookie。

这是我用于删除 cookie 的 JS 函数。请注意我如何指定path=/;

function delCookie(name) {
  document.cookie = name + '=; path=/; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}

如果出于某种原因,在创建 cookie 时它的值与/它的值不同,path则此函数将不起作用。而且,不幸的是,没有办法访问 cookie 信息,例如domainJavaScript path

于 2013-08-01T06:52:23.633 回答