• 締切済み

アドレスに # を付加したときの戻る

こんにちわ。 JavaScriptが上手く動作せず困っています。 インラインフレームのあるページで、インラインフレームの中のページを切り替えた際に、location.hashを使って親ページのアドレスに変数(?)をくっつけるものをJavaScriptで作りました。この動作自体は上手くいったのですが、「戻る」ボタンを一度押すと#~が消え、もう一度押すとインラインフレームが前のページに戻ります(IE7では一度で戻りますが、FF3だと二度押す必要があります)。どうやらFFではアドレスに#~を付加させるのに、それ自体がページの切り替えとカウントをされてしまうようです。 親ページに変数をおくか、インラインフレーム内のページのアドレスに付加することはしたくないです。一度「戻る」を押しただけできちんともどるようにしたいのですが、どのようにすればよろしいでしょうか。よろしくお願いいたします。

みんなの回答

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

回答がないみたいなので… >location.hashを使って親ページのアドレスに変数(?)をくっつけるもの >をJavaScriptで作りました ページ(または表示)の移動が目的ではないのでしょうか? (ハッシュ指定の通常動作は、ページ内アンカーへの移動) 何のために行っているのでしょうか? すでに調べられたようですが、戻る動作がブラウザ依存であるのなら、これを避けるのが一番の方法では? ハッシュ操作の目的が不明ですが、これを代替することを考えればよいのではないでしょうか? 単に、一時的に何かを記憶しておきたいのなら、グローバル変数で記憶とか、ページ内に非表示で記憶しておくとか、あるいはクッキー利用とか… スクロールしたいのなら、スクリプトでスクロールするとか…

mananatto
質問者

補足

回答ありがとうございます。 location.hashを使った方法では実装が難しそうなので、phpを使っていきたいと思いました。

関連するQ&A

専門家に質問してみよう