从html页面清除cookie时发出问题

时间:2013-08-01 06:28:34

标签: javascript cookies

我有一个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值。我在做什么?

1 个答案:

答案 0 :(得分:0)

由于Cookie定义的path部分,删除Cookie可能是有趣的业务。如果您在cookie过期时设置的path与设置的原始cookie的path=/;不匹配,那么它将不会清除它。您应该在删除Cookie时添加path(见下文),并使用Firebug / Chrome开发工具/网站开发人员工具栏/其他任何内容仔细检查浏览器中的Cookie path=/;

这是我删除cookie的JS功能。请注意我如何指定function delCookie(name) { document.cookie = name + '=; path=/; expires=Thu, 01-Jan-70 00:00:01 GMT;'; }

/

如果由于某种原因,在创建cookie时,其path的值与domain不同,则此函数将无效。遗憾的是,无法从JavaScript访问Cookie信息,例如path或{{1}}。