gpt4 book ai didi

javascript - 为什么cookie没有被删除?

转载 作者:行者123 更新时间:2023-11-28 09:38:37 31 4
gpt4 key购买 nike

我通过javascript创建了一个cookie。我想在注销时清除它。该网站在 SSL 上运行。以下是我用于 cookie 创建和删除目的的 JS 代码。请注意,它是一个普通 cookie(非 http、不安全且尽可能简单)。下面是创建cookie的函数,它创建了cookie,这个cookie是一个 session cookie,所有其他细节都是用于创建这个cookie的参数。

login: function () {
"use strict";
var cookieKeys, cookieValues;
if (cookieExists(this.systemPolicyCookie)) {
cookieKeys = this.activeUserCookieName + '=';
cookieValues = 'Email=' + this.activeUserCookieValues.Email + '&';
cookieValues += 'UserId=' + this.activeUserCookieValues.UserId;
cookieKeys += encodeURIComponent(cookieValues) + cookieDelimiter;
cookieKeys += 'domain=' + this.activeUserCookieDomain + cookieDelimiter + cookiePath;
document.cookie = cookieKeys;
document.location.href = document.location.protocol + '//' + document.location.host + '/User/Landing/';
} else {
alert('System policies are missing, please login online.');
document.location.href = document.location.protocol + '//' + document.location.host;
}

},

以下代码块应该删除上面创建的 cookie,但这不起作用。

logout: function () {
"use strict";
var cookies = cookieArray(),
name;
for (name in cookies) {
if (name != null && (this.systemPolicyCookie.toString()
.toLowerCase() !== name.toString()
.toLowerCase())) {
document.cookie = name + '="";-1; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT';
}
}
document.location.href = document.location.protocol + '//' + document.location.host;

},

cookieArray()函数返回所有cookie的列表,如下:

var cookieArray = function () {
"use strict";
var cookies = {},
counter,
split,
nameValue;
if (document.cookie && document.cookie !== '') {
split = document.cookie.split(';');
for (counter = 0; counter < split.length; counter++) {
nameValue = split[counter].split("=");
nameValue[0] = nameValue[0].replace(/^ /, '');
cookies[decodeURIComponent(nameValue[0])] = decodeURIComponent(nameValue[1]);
}
}
return cookies;

你能帮我让 cookie 删除代码正常工作吗,否则我将不得不关闭浏览器(糟糕的用户体验)

最佳答案

你用的是什么浏览器?

据我所知,IE会缓存cookie,因此在您重新启动浏览器之前它们将被删除。我不确定 FireFox 或 Chrome 是否也会这样做

您是否尝试过在 Chrome 和/或 FireFox 中测试您的代码?

关于javascript - 为什么cookie没有被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12668234/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com