我有一个Home.aspx和一个AboutUs.html page.When,当我回到主页时,我点击了我的主页的注销,我的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.What中清除后,我在主页中获得Cookie值。我在做什么?
发布于 2013-08-01 14:52:24
由于cookie定义的path部分,删除cookie有时可能是一项有趣的业务。如果您在使cookie过期时设置的path与设置的原始cookie不匹配,则它不会清除它。你应该在删除cookie时添加path=/; (见下文),并使用Firebug/Chrome Dev Tools/Web Developer工具栏/其他工具在浏览器中仔细检查cookie path。
这是我用来删除cookie的JS函数。注意我是如何指定path=/;的
function delCookie(name) {
document.cookie = name + '=; path=/; expires=Thu, 01-Jan-70 00:00:01 GMT;';
}无论出于何种原因,如果在创建cookie时,其path的值不同于/,则此函数将不起作用。不幸的是,无法从JavaScript访问domain或path等cookie信息。
https://stackoverflow.com/questions/17986658
复制相似问题