• ベストアンサー

Backボタンが押されたら

JavaScriptでBackボタンが押されたら前のページに 戻るのではなくて前のページのURLへジャンプしたいと考えています。 Backボタンが押されたことをどうやって判定すればいいのでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • godakaz
  • ベストアンサー率72% (16/22)
回答No.3

Backボタンを押したかどうかをスクリプト側で把握できるようなイベントハンドラは、おそらくありません。 (そういった、ブラウザ自体の制御に関するイベントとして取得できるのは、ヘルプを呼んだことを示すイベントハンドラが在るくらいでしょうか) ですが、サイト内の遷移などで、バックボタンを押されては困る場合もあります。 そういうときは、location.replace('目的のページ') で、遷移されることをお奨めします。 【記載例】 <input type="button" onClick="location.replace('a.html');" value="replace"> location.replaceを使って遷移した場合、Backボタンに割り当てられるような履歴情報が残りません。 ただ、このままだと、サイト内をどれだけ移動しようとも、Backボタンが押されると、そのサイトに入る直前のサイトに飛んでしまいます。 ですので、この方法を使うときは、サイトに入った時点で、新規にウィンドウを開き、新しいウィンドウ上にサイトのコンテンツを表示するようにします。 新しいウィンドウを開いた後は、元の(他サイトからの遷移の履歴が残っているほうの)ウィンドウは、閉じてしまっても良いでしょう。

cyber-s
質問者

お礼

回答ありがとうございます。 Backボタンを使えなくしてしまうのはかなり強引な気がします。 戻ったときに「データがありません」のメッセージが出て 更新ボタンを教えてもらえばそのまま使えるので その方向で行きたいと思います。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • furuichi9
  • ベストアンサー率26% (80/303)
回答No.2

ブラウザの方ですか、IE自体ですと、戻るボタンを無効等のはできますが。 「ブラウザの戻るボタンのクリックなどのイベントを取りたい」と言うのは調べた事があるのですが、無理だったような気がします。2年も前の事ですが。 お役に立てず、申し訳ないです。

cyber-s
質問者

お礼

私が抱えている現象はNN4.7だけで発生していて 回避できないことがわかりました。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • furuichi9
  • ベストアンサー率26% (80/303)
回答No.1

履歴を一つ戻るって事ですか。 <A HREF="javascript:history.back()">戻るとか。</A> では駄目でしょうか?

cyber-s
質問者

補足

ご回答ありがとうございます。 説明不足ですみません。 戻るボタンは作るのではなくて ブラウザについている「戻る」ボタンです。 一応ボタンは用意しているんですけど ブラウザの左上の戻るを押したときにも ちゃんとURLへジャンプしたいので。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ブラウザの×ボタン判定

    ブラウザの×ボタンを押下すると、このページから移動しますか? というダイアログが表示されると思います。 このダイアログには「このページから移動」と「ページに留まる」の二つのボタンが ついています。 このボタンの内、どちらが押されたかを判断したいのですが、javascriptで判定する ことは可能でしょうか? ご教授のほどよろしくお願いいたします。

  • モバイルサイトに動的な「前のページへ戻る」ボタンをつけたい

    いつもお世話になります。 よろしくお願いします。 モバイルサイトに「前のページへ戻る」ボタンをつけたいのですが、履歴をたどり前のページへもどることは可能でしょうか? 下記のようにjavascriptで記述して試してみましたが、携帯で確認するとリンクがはずれた状態になってしまっています。 <a href="javascript:history.back()" accesskey="9">BACK</a>  何か方法があれば教えてください。 よろしくお願いします。

    • ベストアンサー
    • HTML
  • history.back()-ページ内リンク除外

    JavaScript初心者です。 今回いろいろなページからアクセスされるページにhistory.back()を利用して、戻るボタンを配置したいと思っています。 <a href="javascript:history.back();">では、そのページ内でページ内リンクを使用してしまうと、前のページには当たり前ですが戻れないです。 ページ内リンクを押した場合を除きたい場合どのように記述すればいいのか分からず途方にくれています。大変恐縮ですがご教示頂ければ幸いです。 宜しくお願い致します。

  • history.back() について

    ある入力フォームを作成しています。 入力エラーがあった場合、エラーメッセージを表示するとともに、 history.back() を使用した「戻る」ボタンを表示させます。 この戻るボタンを押して入力フォーム画面へ戻った場合、 入力した内容がフォームに残っているはずなのですが、 WindodwsXP、IE6 の環境では、クリアされてしまうことがわかりました。 これはIEの設定によって回避できるのでしょうか? もし、回避できないとしたら、history.back() に替わるJavaScriptって あるのでしょうか?値をクリアしないで前のページに戻るには、 やはりJavaScriptにたよらず、値の受け渡し処理をやって あげないとダメでしょうか? ご存知の方いらっしゃいましたら教えてください。 よろしくお願いします。

  • ボタンの有効と無効

    アクションスクリプトの初心者です。 いつも、お世話になっております。 ページtopにA,B,C,D四つのボタンがあります。 各ボタンを押すと、ページA、ページB、ページC、ページDへジャンプします。 ボタンAとB両方を押す前には、ボタンCとDは無効です。 AS2.0です。 流れはこうです。 最初Topページは、A,Bボタンは有効、C,Dボタンは無効の状態。 A(B)ボタンを押下→ページA(B)へジャンプ→戻るボタンを押下→Topページへ戻る。→B(A)ボタンを押下→ページB(A)へジャンプ→戻るボタンを押下→Topページへ戻る。→C,Dボタンが有効になり、押下すると各ページへジャンプする。 大元に以下のように書きましたが、なぜかうまくいきません。 どうぞご教授のほどよろしくお願いします。 btnA.onRelease=function(){ gotoAndStop(pageA);//ページAへジャンプ a = 1; } btnB.onRelease=function(){      gotoAndStop(pageB);//ページBへジャンプ b = 1; } if(0==a+b){ btnC.enabled = false; btnD.enabled = false; }else if(2==a+b){ btnC.enabled = true; btnD.enabled = true; }

    • ベストアンサー
    • Flash
  • 特定ページのみブラウザのBACKボタンを無効にしたい

    お世話になります。 PHPでの質問でいいのかわからないのですが、 PHP作成しているページでBACKボタンを無効にしたいのです。 このphpファイルではパラメータを利用しています。 このファイルで次へボタンを用意し、クリックされると 次のパラメータを送り、再度そのファイルを 読み込みたいのです。 このファイルは決まった順番で読み込み、 前のページに戻らせたくないのです。 同じサイトにある、別のファイルでは 戻るボタンは利用したいのです。 このように特定なファイルのみBACKボタンを無効に することはできますか? よろしくお願い致します。

    • 締切済み
    • PHP
  • 戻るボタンで戻れない

    onloadでdocument.writeを呼び出してページ全体を書き換えるようにしているのですが、ブラウザの戻るボタンで戻れなくなりました。 書き換える前に戻って再びonloadしているみたいです。 IE6.0,NN7.0,Opera7.11で試してみたところ、IEでこの現象がおきました。 NNは期待通りに動きます。Operaは書き換える前の状態に戻りますが、onloadしない(Javascript無効用ページ)のでもう一度戻るボタンを押せばOKです。 ボタン右の▼で戻ることはできますが、戻るボタンを連打する癖のある人っていると思うんですね。 何か良い対処方法はあるでしょうか?

  • 送信ボタンを押した後の処理について

    HPB5でメール送信フォームを作成しているのですが、 「送信ボタン」を押した時点で必須項目が空欄の時に エラーメッセージが表示されるページへジャンプしたいと思っています。 要は「送信ボタン」が押されたときに必須項目に文字入力されているか 確認する記述がわかりません。 HTML言語やJavaScriptなどどれを使って良いのかもわかりません。 HTML言語やJavaScriptの知識に非常に乏しい私にできるのでしょうか。 無理なら無理と指摘してください。

    • ベストアンサー
    • HTML
  • input ボタンを教えてください。

    Aページで設定を行った後、Aページにあるボタンをクリックして、Bというページにジャンプします。 Bページで様々な設定を行った後、Bページにあるボタンをクリックして、再びAページに戻る一方、Bページでの設定をDBに飛ばします。 という仕様ですが、、、 問題点は、 BページのボタンをクリックしてAページに戻ると、Aページの設定は全部なくなってしまいます。 自分は下記のようにしましたが、Aページの設定はそのままでいいですが、Bページでの設定をDBに格納できません。 <input name="button" type="button" onclick="history.back()" style="background-image: url(images/button_ok.gif);font-size: 14px;color: #000000;height: 25px;width: 116px;background-repeat: no-repeat; border: 0px; " /> 逆に、<input type="submit"> こいうふうにやるとBページの設定をDBに飛ばせるが、Aページに戻ると設定がなくなり初期状態なります。 ぜひよろしくお願いいたします。 可能ならイメージボタンでお願いいたします。

  • ジャンプ先の選択ボタンがいつも間にか…

    Word2000を使っています。 スクロールバーの下にあるジャンプ先の選択ボタンが、自分では何も設定していないのに、いつのまにか、上下のボタン(ふだんは前のページや次のページに移動するボタン)が青い矢印のボタンに変わってしまうことがあります。 ジャンプ先の選択ボタンからは設定していないのは確かなのですが…。どなたか宜しくお願いします。