我正在调试一个脚本,它基本上读取一个 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;
}
经过更多测试,我意识到ca
存储 cookie 的变量甚至从未被定义。看着它,我不明白为什么应该这样做,因为没有对 cookiename 的引用。所以在我的逻辑中,它甚至不应该工作,但它在除 IE 之外的所有东西中都能完美运行。
var ca = document.cookie.split(';');
1:为什么这甚至可以在 Fx、Webkit 和 Opera 中使用?
2:我怎样才能让它在IE中也能工作?
我尝试将其定义如下,但这似乎不起作用:
document.cookie = name;