アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは
自作のWebページを作成したのですが
画面遷移を繰り返しているとCookieが
消えることがあるのです。
こういうことってあるのでしょうか?

環境は以下の通りです。
OS:Win2000,XP Pro
ブラウザ:IE 6.0
Cookie書込み:javascript
setCookie("bbb","hammy")
function setCookie(key, val, tmp) {
tmp = key + "=" + escape(val) + "; ";
tmp += "path=/aaa/;";
tmp += "expires=Tue, 31-Dec-2030 23:59:59; ";
document.cookie = tmp;
}

Cookie読込み:javascript
function getCookie(key, tmp1, tmp2, xx1, xx2, xx3) {
tmp1 = " " + document.cookie + ";";
xx1 = xx2 = 0;
len = tmp1.length;
while (xx1 < len) {
xx2 = tmp1.indexOf(";", xx1);
tmp2 = tmp1.substring(xx1 + 1, xx2);
xx3 = tmp2.indexOf("=");
if (tmp2.substring(0, xx3) == key) {
return(unescape(tmp2.substring(xx3 + 1, xx2 - xx1 - 1)));
}
xx1 = xx2 + 1;
}
return("");
}

Cookie削除 javascript
delCookies("CCC")
function delCookies(key) {
tmp = key;
tmp += "=;path=/aaa/;";
tmp += "expires=Thu,01-Jan-2000 00:00:01 GMT";
document.cookie = tmp;
}

画面遷移
A画面でCookie書込み⇒B画面でCookie情報を読込み
⇒C画面でCookie情報を読込み

現象:C画面でCookieが読込めない。
備考:C画面では読込みの前に別のCookieを削除しています。

B画面ではCookieの有無をチェックしているだけです。

何か疑問に思えることがありましたら教えてください。

A 回答 (3件)

 これは俺が実際に経験したことなのですが、書き込まれる直前のクッキー文字列の状態を alert() で表示してみてください。


 ただし、俺が使ってんのもやっぱトホホからコピーしてきた奴なので、スクリプト自体は概略として間違ってないはずですが。

 上位プログラムのミスで、まれに日付部分がごっそり抜けてたりしますので(^_^;

 それから、俺が実際に使用している(動作確認済みの)JavaScript によれば、2030年12月31日は金曜日だそうですよ。
    • good
    • 0
この回答へのお礼

有難うございます。

>上位プログラムのミスで、まれに日付部分がごっそり抜けてたりしますので(^_^;

私も、最初はそれを疑ったのですがちゃんと有効期限が
入っているんですよね。
パソコンによってはCookieが消されることが無く正常に
動作しているんですが・・・。
同じパソコンでも同一動作を行って消える時と消えない時があって、訳がわかりません(泣)

私の持っているフリーカレンダーでは火曜日なんですが・・・(2030/12/31)
2000/1/1は土曜日ですね・・・。こいつの仕業?

お礼日時:2005/04/26 15:45

cookieをいっぱい使ったら駄目



参考URL:http://e-words.jp/w/cookie.html
    • good
    • 0
この回答へのお礼

返事が遅くなりました。
すみません。

参考URLを拝見させていただきましたが、標準規約があるわけではないので使えわないほうが良いということなのでしょうか?
ActiveXを使いたくないがためにcookieを使用しているのですが・・・

どうやら、IE6のプライバシー設定とコンパクトポリシーが関連しているようです。

後、有効期限の指定には必ずGMTで指定することが決まりのようですね。とりあえずこの2つで結果を確認します。

皆様本当に有難うございました。
この質問を締め切らせていただきます。

お礼日時:2005/06/23 09:31

 クッキーって、画面単位で制御するのが基本じゃなかったでしたっけ……?


 IEだと複数画面にまたがって読めてしまうこともあるみたいですけど、それって仕様の範囲だったかなぁ……。

この回答への補足

すみません。
言葉足らずでした。

Cookieの有効期限を2030年に設定するとDocument&Setting\Cookieにファイルが作成されますが、ファイルが削除されているのです。
B画面では有効期限無しのCookieを作成していますが
これは、メモリ上に作成されセッションが切れた時点でメモリから削除されています。

補足日時:2005/04/26 13:31
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!