我正在调试一个脚本,基本上读取一个cookie并返回一些东西。它适用于所有浏览器,IE除外。经过一些测试,我发现它永远不会进入for
循环。
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) {
return c.substring(nameEQ.length,c.length);
}
}
return null;
}
经过一些更多的测试,我意识到存储cookie的变量ca
,甚至都没有被定义。看着它,我不明白为什么它应该,因为没有提到cookiename。所以在我的逻辑中,它甚至不应该工作,但它在所有但 IE中都能完美运行。
var ca = document.cookie.split(';');
1:为什么这甚至可以在Fx,Webkit和Opera中使用? 2:我怎样才能在IE中使用它?
我尝试将其定义如下,但这似乎不起作用:
document.cookie = name;
答案 0 :(得分:0)
似乎IE中没有设置cookie。尝试使用
alert('d.cookie:\t'+document.cookie+'\n\n'+'d.cookie.length:\t'+document.cookie.length);
检查是否有任何Cookie。
如果没有,请尝试使用
设置一个document.cookie='mycookie=foo; path=/';