javascript - session Cookie 在 IE11 中有错误行为?

标签 javascript session cookies

请检查以下两张图片:

Cookies in IE11

Cookies in chrome

我要实现的逻辑如下: 我们有一个门户网站,用户可以在其中模拟另一个用户。现在,当用户结束 session 并再次启动浏览器时,模拟应该停止并且用户注销。

为了实现这一点,我在登录时设置了两个 cookie,一个 cookie 的有效期为 +99 天,另一个 cookie 没有过期属性。

在 IE11 中,过期列是完全空的,我不知道为什么。但是当我关闭窗口并结束 session 时,cookie 仍然存在并且我的逻辑不起作用。

checkSimulationCookieAndLogOut() {
    // Checks for cookie if a user is simulated and logs out
    let self = this;
    let sessionCookie = self.globalFunctions.getCookie('user-is-simulated-session-cookie');
    let userSimulationCookie = self.globalFunctions.getCookie('user-is-simulated');
    if(!sessionCookie && userSimulationCookie) {
        //self.globalFunctions.automaticLogoutAndRedirect();
        self.globalFunctions.deleteCookie('user-is-simulated');
        console.log('test');
    }
}

cookie 是这样设置的:

setCookie(name,value,days) {
    var expires = "";
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days*24*60*60*1000));
        expires = "; expires=" + date.toUTCString();
    }
    document.cookie = name + "=" + (value || "")  + expires + "; path=/";
}

self.globalFunctions.setCookie('user-is-simulated-session-cookie', 'true');
self.globalFunctions.setCookie('user-is-simulated', 'true', 99);

self.globalfunctions 只是一个包含一些在整个应用程序中共享的函数的类。

有谁知道我可以做些什么不同的事情或者我哪里做错了什么?

最佳答案

好的,我发现它可以在装有 IE11 的 Windows 机器上运行。所以也许它与virtualbox有关。

但通常它是有效的。

关于javascript - session Cookie 在 IE11 中有错误行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51537799/

相关文章:

javascript - 单链查询 mongodb/mongoose 以获取所有评论

asp.net - 从 ASP.Net 中的 sessionID 获取 session 对象

php - php session ID的唯一性

javascript - Chrome HTML5 <video> 请求 - 未发送 cookie

javascript - window.open 指向自身而不是其他页面

javascript - 我如何使用变量X的值

javascript - ZK:保持 session 存活

javascript - React 前端 + Express.js Sessions

cookies - 用于新 AdWords 转化的 GTM 跨域跟踪

c# - 如何将字符串从 ASP.NET 代码后面传递到本地网络存储?