このサーバの別ドメインのCGIを久方ぶりにバージョンアップしようとしたら、なかなか思ったように動作せず、試行錯誤を繰り返していたのだけど、ようやくうまく行った感じ。
Javascriptによるカウントダウン処理を実装した複数のページで、ページ自体をリロードしてもそのままカウントダウンを引き継げるようにしたかったのだが、Javascript側からCookieを利用するやり方しか思いつかなかったので(他にやり方あるのかな?)なんとかそれでやってみた。しかしきわめて動作が不安定。普通Cookieには幾種類か簡単な情報が記録できるわけだが、その内のPath指定で、ブラウザが、例えば「/abc」と「/abcd」の区別がつかないらしいことが分かった。これはCookieの「仕様上」そうらしい。なんじゃそらだが、要はこれにハマっていたようだ。
上の階層にPathを指定し内容の記述で対象を仕分けることでたぶん解決。分かればあとは簡単?しばらく様子見ないと自信が持てないけれど、今日はここまで。続きは未定。
あとIEだけCookie処理が他のブラウザと違うような気もしたが、深追いしなかった。
【追記】2013/12/02
結局、様子見たあと本格投入見送った。元に戻した。やっぱり本来Javascriptで全部(特にソート処理自体)書くのが正しいのか。Perl+Cookieでやるとカウントの遷移はできてもあれこれ派生的な問題が起こる。プログラミングはやりはじめると際限なくなって怖い。向こう岸まで泳ぎ切ったような人はなんでも出来て楽しいんだろうなぁ。
【追記2】2013/12/03
ページリロード時にデータ取得の空振りがないように、せめてもの改良した。まだ気に食わないところがあるが、ブラウザを閉じないとタブを閉じただけでは一時cookieが消えないのは一般的な仕様なので、タブ消しから再びページに復帰してカウンターがリセットされないのは今のやり方では仕方ない。
際限ないのでこれで一旦収めたい。バグ出ないでくれぇ。
コメントする