金曜日, 2月 17, 2006

百六十七日目

最近はなぜか新しい友達が結構増えている。
そういう季節なのか何なのかよくわからないが、いろんな人達と知り合えて
なかなかおもしろい。仕事中にチャットしたり、昼食食べに行ったりとなかなか
楽しい限り。

今日は終電まで働いたので、もう夜の2時になってしまった。疲れた。。。
調べ物をしていたら見つかったので、備忘録として下に記す。

今週もあと一日で終了。なかなか早いね。明日も頑張ろう!

---------------------------------

JavascriptでDivのタグを使用し、Displayのプロパティをsetすることが
結構あるが、今日一つ問題点を見つけた。

最初にあるページを読み込むときに、あるDiv(ここではDiv1とする)のDisplayを
""にし(つまりはON)、そのあとでDiv1を"None"にして違うDiv(Div2とする)
を""(ON)にする。そこからどこかのページへリンクし、その後にブラウザの「戻る」
ボタンを押すと、戻ってきた時の状態はDiv1がONで、Div2がOFFになっていた。

まあ仕様上そうなるべきなんだろうけど、これを解決する方法を探していた。

最初はやっぱりサーバーにFormを投げて、PHPレベルでページを動作させようかと
試みたが、ダイナミックなページを作るためにはPHPレベルでは実現不可能。
やはりJavascriptで何とか解決したいと帰りの電車の中でずっと考えていた。

うちの会社のユーザやお客さんは非常に時間に追われている人ばかりなので、
やはり1秒、1ミリ秒でも早いシステムを作ることが重要。そう考えたら、
PHPでのリロードなんてありえない。。。

そこで思いついたのが、かなり基本的な概念であるCookie。
違うページにリンクする前に、それらのDivの状態をCookieに保存しておけばいいのだ。
そうすれば、「戻る」ボタンを押した時にそのCookieの値を取り出して、それを
Divらにsetすれば解決できることがわかった。

Cookieは基本的なものであるが、これまで一回も使ったことがなかったので、
今回はこれをもう少し深く調べて、明日はそれを使って実装しようと思う。

ところでブラウザの「戻る」ボタンはどこのデータを参照して戻っているのかが
少しだけ気になった。javascriptのhistoryオブジェクトと同じところを見ている
のだろうけど、どの程度のレベルまで「戻す」ことができるのかが知りたい。

ま、いいや。早く寝よう。おやすみ~。。。

0 件のコメント: