IE无法设置短域名下Cookie
更新时间:2010年09月23日 18:47:26 作者:
最近客户在使用我们的流量监测系统以及GA时发现了一个问题,我们统计到的数据比GA的要多很多倍,而且我们统计到的数据中,跳出率非常高,高达99%左右。
在经过一番简单排查之后找到了问题所在,Cookie设置失败。
但至于为什么会失败,这个问题查了半天,最后在StackOverflow上面有人提到了,IE从5.0开始就无法为短域名下设置Cookie。
那么多短才会出现问题呢?经过试验,发现包含点号在内一共5个字符以内包括5个字符都无法通过Javascript设置Cookie,不过这里有个前提,就是只有当你设置Cookie时显式指定了domain参数才会失败。也就是说如果你这么写:
查看源代码打印帮助document.cookie="key=value;domain=ab.cn";
Cookie设置会失败,如果去掉domain参数,直接这样写:
查看源代码打印帮助document.cookie="key=value";
则不会出现这样的问题,即便当前域依然是ab.cn。
这篇文章http://support.microsoft.com/kb/310676/en-us/提到了类似的问题,不过貌似和这个情况不大一样。大家也可以参考一下。
因为Cookie设置失败,导致我们的流量监测系统认为每个访问都是一次新的访问,自然跳出率就极高了,而GA貌似Cookie设置失败就不发数据了。
Firefox和Chrome没有这样的问题。
Mark一下,希望对遇到类似问题的人有帮助。
但至于为什么会失败,这个问题查了半天,最后在StackOverflow上面有人提到了,IE从5.0开始就无法为短域名下设置Cookie。
那么多短才会出现问题呢?经过试验,发现包含点号在内一共5个字符以内包括5个字符都无法通过Javascript设置Cookie,不过这里有个前提,就是只有当你设置Cookie时显式指定了domain参数才会失败。也就是说如果你这么写:
查看源代码打印帮助document.cookie="key=value;domain=ab.cn";
Cookie设置会失败,如果去掉domain参数,直接这样写:
查看源代码打印帮助document.cookie="key=value";
则不会出现这样的问题,即便当前域依然是ab.cn。
这篇文章http://support.microsoft.com/kb/310676/en-us/提到了类似的问题,不过貌似和这个情况不大一样。大家也可以参考一下。
因为Cookie设置失败,导致我们的流量监测系统认为每个访问都是一次新的访问,自然跳出率就极高了,而GA貌似Cookie设置失败就不发数据了。
Firefox和Chrome没有这样的问题。
Mark一下,希望对遇到类似问题的人有帮助。
您可能感兴趣的文章:
相关文章
JavaScript call apply使用 JavaScript对象的方法绑定到DOM事件后this指向问题
JavaScript对象与DOM对象进行绑定会遇到一个问题:如果被绑定的对象的方法中包含this关键字,当事件被触发时this指向的却是DOM对象,而不是之前的JS对象。2011-09-09深入理解JavaScript系列(34):设计模式之命令模式详解
这篇文章主要介绍了深入理解JavaScript系列(34):设计模式之命令模式详解,命令模式(Command)的定义是:用于将一个请求封装成一个对象,从而使你可用不同的请求对客户进行参数化,对请求排队或者记录请求日志,以及执行可撤销的操作,需要的朋友可以参考下2015-03-03
最新评论