我有一个Web应用程序,在打开模块时会创建用户名和sessionid cookie。
使用document.cookie,我得到的值为“ username = xyz,sessionid = 123”
退出应用程序时,我将删除Cookie如下
document.cookie = 'username=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/<%=appName%>';
document.cookie = 'sessionid=; expires=Thu, 01-Jan-70 00:00:01 GMT; path=/<%=appName%>';
重新打开模块时,将再次设置cookie值并将其值获取为“ username = xyz,sessionid = 123”
[它在Windows 7中可以这样工作=>没问题。
我在Windows 10上遵循的相同步骤,第一次=>对于document.cookie,我得到的值为“ username = xyz,sessionid = 123”关闭并重新打开document.cookie的模块=>后,我得到的值为“ username = xyz,sessionid = 123,username =,sessionid =“
在Windows 10上,cookie被复制,一个具有值,另一个为空白。任何想法,为什么在Windows 10上会发生这种情况?
我在两台机器上都使用IE11。
问题是到期日。.70年1月1日
看起来,在Windows 7计算机中,此到期日期被视为1970,但在Windows 10计算机中,可能是其未考虑该值或将其视为2070。这就是为什么不将cookie值更新为空白,而是正在创建新的cookie。
由于两台机器都使用IE11浏览器,所以我怀疑cookie到期日期的工作差异是由于操作系统引起的。
将年份值更改为1970年1月1日可以解决此问题,并且在win7和win10机器上可以正常使用。
document.cookie = 'username=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/<%=appName%>';
document.cookie = 'sessionid=; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/<%=appName%>';
如果有更多信息,请分享。