使用document.cookie删除firefox上不起作用的cookie.下面的

using document.cookie to delete cookies not working on firefox

本文关键字:cookie 不起作用 firefox document 删除 使用      更新时间:2023-09-26

是一个简单的注销脚本,它是通过单击我网站导航栏中的"logout"锚来触发的。代码在chrome中运行良好,但在firefox中没有任何作用。

            $('a#UserLogout').on('click', function(e){
                e.preventDefault;
                document.cookie = '_session_login=""; expires="Thu, 01-Jan-70 00:00:01 GMT";';
                location.reload();
            });

PS。我有另一个用于语言偏好的cookie,它的工作代码如下:

function setCookie(cname,cvalue,exdays)
{
    var d = new Date();
    d.setTime(d.getTime()+(exdays*24*60*60));
    var expires = "expires="+d.toGMTString();
    document.cookie = cname + "=" + cvalue + "; " + expires;
    location.reload();
}

我在前几天尝试过使用-365,但效果不如

我遇到了这个问题(FF 29),解决方案是在设置cookie时也设置路径。不应该需要它,因为根据规范(也根据MDN),当路径被省略时,它应该默认为当前路径,但它可能默认为/(root)或其他什么
无论如何,在我的情况下,我删除了域子文件夹中的cookie(例如www.example.com/SubFolder/),并指定了匹配的路径(例如SubFolder),允许我删除cookie
通常情况下,将cookie路径设置为location.pathname就可以了。

试用1970

document.cookie = '_session_login=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';

去掉多余的引号并将其更改为此

document.cookie = '_session_login=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';

此外,您应该告诉浏览器强制页面从服务器加载,而不是从缓存加载

window.location.reload(true);