人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

JavaScriptに関する質問です。
たとえば、1.htmlと言うページのwindow.onloadイベントで、location.href="2.html";と言う命令を実行して、2.htmlに遷移させます。

1.html -> 2.html

この時IEでは、バックボタンが有効になって、バックボタンを押すと1.htmlに遷移して、結局2.htmlに戻ってきます。

Firefoxではバックボタンが有効にならず、履歴に1.htmlは残らないようです。

Gmailでは、inboxを表示している時にバックボタンを押すと、いったん別のページに移ってから、inboxのページに戻ってきます。

同様な機能を、自分のサイトに実装したいと思っています。

実現方法をご存知の方がおられましたら、よろしくお願いします。

●質問者: taka
●カテゴリ:ウェブ制作
✍キーワード:firefox Gmail href HTML IE
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● coliss
●100ポイント ベストアンサー

「location.href」ではなく、「location.replace」と記述すれば、履歴を残さないで移動することができます。

◎質問者からの返答

履歴を残したくないのではなく、残したいのです。

location.hrefやlocation.assign()を使えば、履歴に残るはずなのですが、onloadイベントで実行すると、Firefoxでは履歴に残りません。


2 ● j_kimi
●20ポイント

onloadイベントではなく

<meta http-equiv="refresh" content="0;url=1.html">

で飛ばせばIEでもBACKボタンは有効にならないと思います。

◎質問者からの返答

質問が分かり難くてすみません。

僕が問題にしてるのはFirefoxの方です。

Firefoxで、BACKボタンを有効にする方法を教えて下さい。


3 ● j_kimi
●0ポイント

失礼しました。

setTimeout("location.href='2.html'",1000);

ではいかがでしょうか。

◎質問者からの返答

setTimeout()を使っても駄目でした。

Firefoxのサイドバーで履歴を表示させながら実験してみたところ、1.htmlの履歴は残っているのですが、Backボタンが有効になりません。

僕の使っているFirefoxは、バージョン2.0.0.1です。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ