Internet Explorer 10和document.cookie中的意外行为

时间:2014-02-17 13:36:01

标签: cookies internet-explorer-10

我正在努力使用IE 10和document.cookie,这种行为对我来说意外......

如果我在IE 10的开发者控制台中使用此代码

document.cookie="withactualpathanddomain=nb; path=/pathname/; domain=localhost";
document.cookie="withactualpath=nb; path=/pathname/;";
document.cookie="withpathanddomain=nb; path=/; domain=localhost";
document.cookie="withdomain=nb; domain=localhost";
document.cookie="justname=nb;";

浏览器只设置两个cookie:“justname”和“withactualpath”。

如果我在IE 9开发者控制台(或使用firefox的firebug)中执行此操作,我会设置所有cookie。

这是IE10中的预期行为吗?我在生产环境(开放域名)中试过这个,结果相同。

在IE 10中,我有“接受所有cookie”的设置。我无法更改此网络(客户)中的安全设置,安全设置是否可以成为问题?互联网的设置为“中高”,内部网络的设置为“中低”..

1 个答案:

答案 0 :(得分:1)

原来, IE 10遵循w3 spec verbatum http://www.w3.org/Protocols/rfc2109/rfc2109),不允许“localhost”作为域名。所以修复是省略“域名”在localhost上设置cookie时。调整后的测试用例(cookie名称未因问题的一致性而改变):

document.cookie="withactualpathanddomain=nb; path=/pathname/;";
document.cookie="withactualpath=nb; path=/pathname/;";
document.cookie="withpathanddomain=nb; path=/;";
document.cookie="withdomain=nb;";
document.cookie="justname=nb;";