我无法使用 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 笔记本电脑进行测试。在这两种情况下,上面的警告消息仅在 IE 中为“false”和“-1”。
我检查了 IE 安全设置并关闭了保护模式,并将安全性更改为接受来自所有站点的 cookie。修改后重启IE,还是无法写入document cookie。
我正在查找 Local\Microsoft\Windows\Temporary Internet Files。我看到其他网站上已经有一些 cookie,但上面的测试中没有“testcookie”。
有什么想法吗?
最佳答案
我希望这可以节省我花在这个问题上的时间。
问题是 Microsoft 不允许在 URL 中包含下划线时写入 cookie。是的。
我通过将暂存 URL 更改为使用“-”而不是“_”来确认这一点,现在可以在 IE 中成功写入和读取 cookie。
一篇关于这个问题的文章:https://ma.ttias.be/internet-explorer-wont-allow-cookies-subdomains-underscores/
关于internet-explorer - IE11 document.cookie 不创建 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49138863/