我正在努力使用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”的设置。我无法更改此网络(客户)中的安全设置,安全设置是否可以成为问题?互联网的设置为“中高”,内部网络的设置为“中低”..
答案 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;";