【问题标题】:IE11 document.cookie not creating a cookieIE11 document.cookie 没有创建 cookie
【发布时间】:2018-03-06 19:49:05
【问题描述】:

我无法使用 IE11 成功创建 document.cookie。

以下测试代码适用于 FF、Chrome 和 Safari。这是测试文件中唯一的代码:

function isCookie() {

    document.cookie = "testcookie";
    var cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true 
      : false;
    alert(cookieEnabled); //alert true
    alert(document.cookie.indexOf("testcookie"));  //alert 0
    alert(document.cookie); //alert testcookie
    return (cookieEnabled);
}
isCookie();

我有一台 Mac 并通过 VirtualBox 使用 IE11 以及一台单独的 Windows 7 笔记本电脑进行测试。在这两种情况下,上面的警报消息都是 'false' 和 '-1' 仅在 IE 中。

我检查了 IE 安全设​​置并关闭了保护模式并更改了安全以接受来自所有站点的 cookie。修改后重启 IE,还是无法写入文档 cookie。

我正在查找 Local\Microsoft\Windows\Temporary Internet Files。我看到其他网站已经有一些 cookie,但上面的测试中没有“testcookie”。

有什么想法吗?

【问题讨论】:

  • 这个还在继续。欢迎任何想法!

标签: internet-explorer cookies


【解决方案1】:

我希望这可以节省我花在这个问题上的时间。

问题在于,当 URL 中包含下划线时,Microsoft 不允许写入 cookie。是的。

我通过将暂存 URL 更改为使用“-”而不是“_”来确认这一点,并且现在可以在 IE 中成功写入和读取 cookie。

关于这个问题的一篇文章:https://ma.ttias.be/internet-explorer-wont-allow-cookies-subdomains-underscores/

【讨论】:

  • 它还会检查当前 url 而不是实际位置 url,因此如果您编辑 url 而不重定向,使用 history.pushStatedocument.cookie 的值会发生变化。
猜你喜欢
  • 2018-09-01
  • 2017-01-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 2012-11-01
  • 2014-05-26
相关资源
最近更新 更多