• ベストアンサー

history.back()-ページ内リンク除外

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

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

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

document.referrer を使ってはどうでしょうか、 <a onclik="location.href=document.referrer;return false;">戻る</a>

macocco0718
質問者

お礼

yyr446様 ありがとうございます!referrerというプロパティですね。 とても勉強になりました。本当にありがとうございました。

関連するQ&A

  • history.back() について

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

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

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

    • ベストアンサー
    • HTML
  • 「戻る」リンクをページ内につくる方法

    ページ内に「戻る」リンクを設置したいのですが、 #ブラウザの「戻る」ボタンと同じ動作 Javascript(history.back)を使わずに実現する方法はありますか?

    • 締切済み
    • CGI
  • history.backで戻ったページを更新したい

    onClick='history.back();'で戻ったページを、 戻ったタイミングで更新(リロード)したいのですが、 どうすればよいでしょうか。 「JavaScript」か「PHP」で書く方法を教えてください

  • history.backで戻ったときのjs処理

    はじめまして、javascript初心者です。 仕事でwebサイトを作っておりますが、わからないことがあり質問させていただきました。 history.backで前のページに戻ったときにアニメーションを実行させない方法はございますでしょうか。 トップページに外部から訪れた場合のみ、アニメーションを実行させています。 判別はreferrerを使用し、自ドメインを含んでいなかったら実行というような処理をしています。 トップページにはお問い合わせフォームがあり、お問い合わせフォーム→確認画面→戻るを押下した際にアニメーションが実行され、ページのトップへ戻ってしまいます。 「戻る」ボタンには「onClick="history.back()"」を使用しています。 aタグのリンクで処理をすればアニメーションは実行されないのですが、フォームの入力内容がリセットされてしまいます。 入力内容を維持したまま、アニメーションを実行させない方法はございますでしょうか。 ご教示いただけますようお願い申し上げます。

  • 携帯で javascript:history.back() が使えない

    携帯のサイトを作っています。i-modeで、ヒストリーバック<a href="javascript:history.back()">戻る</a>が使えなくて、困っています。 全キャリア対応で、ヒストリーバックと同等のことを実現するために、どうしたらよいでしょうか。 教えていただければ幸いです。どうぞよろしくお願いいたします。

  • history.backについて

    お世話になります。 ASP.net(VB.net)、IE6で作成しています。 フォームに「戻る」ボタンを設定して、 クリックすると1画面前に戻るという処理をしたいのですが、うまくいきません。 記述方法としては 1.HTMLに直接書き込む <asp:Button id="btnPre" style="Z-INDEX: 103; LEFT: 416px; POSITION: absolute; TOP: 320px" runat="server"Height="40px" Width="106px" Text="戻る" onClick="history.back()"> </asp:Button> 2.jsファイルを呼び出す ※aspx側 Me.btnPre.Attributes("onClick") = "pageBack()" ※jsファイル側 function pageBack(){ history.back(); } 3.クリックイベントでJavaScriptを埋め込む Private Sub btnPre_Click -以下略- Dim wkScript As String wkScript = wkScript & "<SCRIPTlanguage=""JavaScript"">" & vbCrLf wkScript = wkScript & " history.back();" & vbCrLf wkScript = wkScript & "</SCRIPT>" & vbCrLf RegisterStartupScript("Jscript", wkScript) End Sub のいずれかで考えているのですが、 1の場合 'history' は 'ASP.MainMenu_aspx' のメンバではありません。 (画面名は「MainMenu_aspx」です) 2と3の場合は、前の画面を読み込みにいくのですが、(タスクバーで確認) 表示は「MainMenu_aspx」のままです。 記述の方法がおかしいのか、もしくは同じ現象が起こって回避方法をご存知の方、いらっしゃいましたら、 教えてください。 お願いします。

  • JavaScriptのhistory.back(戻る)の命令が実行しません.

    教えて頂きたいことがあります. JavaScriptのhistory.back(戻る)を下記の通り記述しました. <A href="Javascript:void(0)" onClick="history.back()" target="_self"> <IMG src="画像ファイル.gif" width="100" height="50" border="0" alt="戻る"></A><BR> 以前から使用している方法で,IE5までは間違い無く 動作していたのですが,PCの環境XPでIE6を使用した所,動作がしなくなってしまいました. 何か問題があるのでしょうか?アドバイスを頂けましたら幸いです.よろしくお願いいたします.

  • history.back スクリプトオフのブラウザで表示させない方法ありますか?

    history.back=戻る 機能を使いたいのですが、JavaScriptをオフにしているブラウザでは、表示されないようにするにはどのような「方法」「スクリプト」を使えばいいのでしょうか? ボタンを表示させるブラウザを振り分けるスクリプトで オフの場合とオンの場合で読み込む外部スクリプトを振り分ければよいのか?と漠然と考えているのですが 記述方法が分かりません。。。 <input type="button" value=" 戻る " onClick="history.back()"> 以外で戻るスクリプトがあれば教えてください。 ◎動作させたい環境:  NN 4.7*~7.1  IE 4.01~6.0

  • history.back使用時、ページトップへ移動

    お世話になります。 javascriptのonClick="history.back()"で前ページに戻った際、ページの最上部に移動したいのですが、どのように書けば良いでしょうか。 history.back先のページに window.onload = function () {$(window).scrollTop(0);} と書いたのですが、最上部に移動せず悩んでおります。 お時間がある際に、ご回答いただけましたら嬉しいです。