不久前,我将一个大型开发项目从使用 cookie 切换到使用 localStorage。然而,我意识到我有点枪,而且服务器上实际上需要一些 cookie。
我已将它们从 localStorage 设置回使用 cookie。但是在此期间,我在我的 Win7 开发盒上安装了 IE10,并将我的开发服务器从 IIS Express 切换到在本地运行的 ISS 7.5。
为了让 Fiddler 拦截我的本地流量,我通过 URL 访问开发页面
http://local_iis/
在 Hosts 文件中标识为:
local_iis 127.0.0.1
但是 IE10 在使用此测试页面访问此域的页面时无法设置 Cookie:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<script type="text/javascript">
document.cookie = "test=value";
alert(document.cookie); // gives "" in IE 10
</script>
</head>
<body>
</body>
</html>
但是,从以下任一方式运行我的测试页面会设置 cookie(并提醒值)
http://localhost/
http://127.0.0.1/
cookie 在 FF 和 Chrome 中都得到正确设置和警报,因为我只使用 IE 进行开发和测试. 我也将 local_iis 添加到受信任的站点。
仍然没有设置cookie。
有谁知道为什么?