たとえば、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のページに戻ってきます。
同様な機能を、自分のサイトに実装したいと思っています。
実現方法をご存知の方がおられましたら、よろしくお願いします。
「location.href」ではなく、「location.replace」と記述すれば、履歴を残さないで移動することができます。
履歴を残したくないのではなく、残したいのです。
location.hrefやlocation.assign()を使えば、履歴に残るはずなのですが、onloadイベントで実行すると、Firefoxでは履歴に残りません。
onloadイベントではなく
<meta http-equiv="refresh" content="0;url=1.html">
で飛ばせばIEでもBACKボタンは有効にならないと思います。
質問が分かり難くてすみません。
僕が問題にしてるのはFirefoxの方です。
Firefoxで、BACKボタンを有効にする方法を教えて下さい。
失礼しました。
setTimeout("location.href='2.html'",1000);
ではいかがでしょうか。
setTimeout()を使っても駄目でした。
Firefoxのサイドバーで履歴を表示させながら実験してみたところ、1.htmlの履歴は残っているのですが、Backボタンが有効になりません。
僕の使っているFirefoxは、バージョン2.0.0.1です。
履歴を残したくないのではなく、残したいのです。
location.hrefやlocation.assign()を使えば、履歴に残るはずなのですが、onloadイベントで実行すると、Firefoxでは履歴に残りません。