首页 > 解决方案 > 在 IE 中无法读取 Cookie

问题描述

我有一个奇怪的问题。

我有一个子域,其中客户带有特定的 URL 当客户被识别时,我设置了一个 cookie 并将它们重定向到主域。在那里我检查这个 cookie 以隐藏一些元素。这在 Microsoft 上的 Chrome、Firefox 甚至 Edge 中运行良好,但在 Apple 机器上的 IE11 和 chrome 中却不行。

当我在 IE 控制台中键入 document.cookie 时,我可以看到 cookie。我在控制台中显示 cookie found 消息,我可以在 chrome 等中看到,但在 IE 中看不到。所以看起来 IE 找不到 cookie,而它实际上是存在的。

有没有人可以解释这种行为?

标签: phpinternet-explorercookies

解决方案


我终于找到了问题所在。在检查 cookie 是否存在时,起初我使用了这行 jQuery 代码。

if (document.cookie.split(';').filter((item) => item.includes('cookiename=')).length) {
console.log('cookie found');
}

我在 IE 中短暂地看到了一条指向这行代码的错误消息。

所以,我把它改成了,顺便说一句容易多了,线

if (document.cookie.indexOf("cookiename=") != -1) {
 console.log('cookie found');
 }

哪个IE没有问题。


推荐阅读