基本的に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;