域名过短的情况下IE处理cookie的一个bug(cn域名要特别注意)

在IE下,如果需要设置cookie,要注意一下cookie的domain属性,因为在下列情况下cookie会设置失效:

domain中只有一个点,点左右两边的字符数都小于3个,形如:

x.xx

xx.xx

x.x

xx.x

这四种形式,IE都不能正确处理,cookie会丢失,无法在页面之间传递,但在ff和chrome下均正常。

所以,如果你的域名为:xxx.x.xx 这种形式的,设置cookie时就不要只将后面的域x.xx设置为domain,否则cookie会被IE丢弃,这时可以考虑设置domain为xxx.x.xx,即域名全名或者不设置domain属性。

但是如果想要将cookie设置为顶级域以便网站的所有二级域都可以使用怎么办呢?

例如:有这样一个域名:www.a.cn

需要将cookie设置在a.cn下,以便xxx.a.cn可以访问到。这时可以通过http://a.cn/xxx下的某一个页面写入cookie,并且不要设置domain的值,这样IE才会把cookie正确设置到a.cn。

 

 

你可能感兴趣的:(chrome,IE)