php - 在 IE 中无法读取 Cookie
问题描述
我有一个奇怪的问题。
我有一个子域,其中客户带有特定的 URL 当客户被识别时,我设置了一个 cookie 并将它们重定向到主域。在那里我检查这个 cookie 以隐藏一些元素。这在 Microsoft 上的 Chrome、Firefox 甚至 Edge 中运行良好,但在 Apple 机器上的 IE11 和 chrome 中却不行。
当我在 IE 控制台中键入 document.cookie 时,我可以看到 cookie。我在控制台中显示 cookie found 消息,我可以在 chrome 等中看到,但在 IE 中看不到。所以看起来 IE 找不到 cookie,而它实际上是存在的。
有没有人可以解释这种行为?
解决方案
我终于找到了问题所在。在检查 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没有问题。
推荐阅读
- php - Laravel PDO::exec() 期望参数 1 是字符串,给定对象
- c# - 我想计算 C# 中字符串中“e”字符的数量
- javascript - 在拾取箭头键时,我的 Javascript 程序除了 console.log() 不会执行任何操作
- java - TreeTableView 行动态样式格式化失败
- r - 将不均匀列表转换为 data.frame
- amazon-web-services - 重启后删除Jenkins配置
- django - Django 管理员。表格内联。如何在 TabulatInline 视图中显示 ForeignKey 相关模型
- python - 如何修复我的链接列表代码显示:AttributeError:'linked_list'对象没有属性'head'
- mysql - 当然这是一个愚蠢的语法错误,但我是 sql: 1054 的初学者。未知列错误
- mysql - MySQL 数据库限制,如果为每个 ZipCode 创建不同的数据库