javascriptでブラウザの戻るボタンで指定の位置に移動する方法

このQ&Aのポイント
  • javascriptを使用して、ブラウザの戻るボタンで指定の位置に移動する方法について教えてください。
  • ECサイトの一覧ページで商品を選択し、詳細ページを閲覧した後に戻ると、一覧の指定の位置に移動できる方法を教えてください。
  • javascriptやjQueryなどを使用して、ブラウザの戻るボタンで指定の位置に移動する方法を教えてください。
回答を見る
  • ベストアンサー

javascriptで次のような事がしたいのですが、どの様にすれば良い

javascriptで次のような事がしたいのですが、どの様にすれば良いのかわかりません。 Webサイト制作をしているのですが、次の様に出来たら便利と思い、今回初めて質問させて頂きます。 例えばECサイトを次の流れで閲覧していたとします。 (1) 商品一覧ページ    ↓一覧の中の気になった商品Aをクリック (2) 商品Aの詳細ページ    ↓ (3) ブラウザの戻るボタンで(1)のページに戻る この様な場合、(3)で(1)に戻った時に、一覧ページがヘッダー部分(通常画面上部)から表示されます。 一覧の商品を順番に閲覧 → 気になる商品Aが目に留まる → 商品Aをクリック →  商品A詳細を閲覧 → ブラウザの戻るボタンで一覧に戻る → 一覧で続きの商品を見る といった流れで見ている場合、商品Aが一覧の下の方に掲載されていた場合(また商品一覧の数が多い場合)続きの一覧商品を閲覧するのに、スクロールしなければなりませんので、 何度も繰り返していると、わずらわしくなってきます。 出来れば、クリックして商品Aの詳細を見た後、ブラウザで一覧ページに戻った時に 商品Aの場所に移動出来れば閲覧者の方に親切だと思います。 その様に作ってあるサイトを以前に見た事があったのですが、どのサイトだったか忘れてしまいました。 多分、javascriptでしてあるのだと思いますが、私はjavascriptは書けません。 prototypeやjQueryを使用して出来るのでしたら、どのライブラリを使用すれば良いのかとか教えて頂けませんでしょうか? また、javascriptで作るのではない場合は、何を使えば良いのか・・・から親切に教えて頂ければ助かります。

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

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.3

私の環境ではブラウザの [戻る] をクリックすると、元々見ていたスクロール位置を表示してくれるのですが…。(IE8, Google Chrome 6 で確認) 1. http://okwave.jp/qa/q6279061.html を開く 2. 少し下にスクロールして [回答する] をクリック 3. [戻る] 4. 2. のスクロール位置に戻る ブラウザ依存の問題ではないでしょうか? あるいは、"Cache-Control: no-cache" を出力していてキャッシュしていないとか…。

webnoa
質問者

お礼

そうだったんですね。 全然知りませんでした(汗) いろいろなブラウザで試して、納得できました。 ありがとうございました。

その他の回答 (2)

回答No.2

連続失礼。書き忘れました。 商品一覧 -> 商品概要 -> 商品詳細 のような流れところで、商品詳細 => 商品一覧に戻したい場合は <a href="商品一覧">というリンクを張るのが良いと思います。 さらに、<a href="商品概要">というリンクも両方付けておけば、どちらのページにも行きたい方に行けるようになりますから、 詳細を見た後概要に戻りたいという人まで強制的に一覧に戻させるより、使いやすくなると思います。

回答No.1

>出来れば、クリックして商品Aの詳細を見た後、ブラウザで一覧ページに戻った時に >商品Aの場所に移動出来れば閲覧者の方に親切だと思います。 ユーザビリティーという考え方においては、 「ブラウザの本来の動作を変更すると、「本来の動作のつもりで操作したが、そうならない」ということが、利用者の混乱を招く恐れがある」というのがあります。 ブラウザの戻るボタンは「1ページ戻る」です。 考えられている動作はブラウザのボタンを「一時的に2ページ戻る」に作り替える方法ですが、 先入観から2回ボタンを押すと、どのページに戻るかわからなくなりますが、それは良いですか? ブラウザの本来の処理を変えると、それ相応のリスクが伴いますのでその点を踏まえて作って下さい。 (制作依頼を出すにしても、自作するにしても) で、その作り方ですが。 >(1) 商品一覧ページ > >   ↓一覧の中の気になった商品Aをクリック > >(2) 商品Aの詳細ページ > >   ↓ > >(3) ブラウザの戻るボタンで(1)のページに戻る この流れなら、(2)の詳細ページで戻るボタンを押すと(1)に行くのではないかと思いますし、 何もする必要はないと思いますが? それはともかく、特定のページからブラウザの戻るボタンで戻ったときに、履歴をもう1ページ戻るようにする方法ですが。 (A)ページ閲覧時に「現在見ているページ」の情報をcookieに保存します。 (B)ページ移動があれば、cookieから「前回見ていたページ」を確認し、それが詳細ページであり、現在のページが特定のページであれば、history.back()でもう1ページ戻るようにします。 (C)Bの処理でページを戻るときに、cookieから詳細ページと特定のページを見ていたという情報を削除します。 この方法でだいたい行けると思います。 window.onloadでcookieの確認をしようとすると、『戻るボタン』では実行されないことがありますので、 </body>の直前に処理を記述しておく方が良いと思います。

webnoa
質問者

お礼

ご親切にご回答いただいてありがとうございました。 質問が下手ですみませんでした。

webnoa
質問者

補足

ご親切にご回答ありがとうございました。 私の説明が少し悪かった様です。 2ページ戻りたいのではなく、(2)の商品Aの詳細ページから(1)の商品一覧ページに戻った時に サイトがヘッダーから表示されるのではなく、一覧の商品Aの位置が画面上部に 表示されたら良いな・・・と思っていたのですが・・・。 例えば、amazonの様に一覧表示で商品がたくさんあって、順番に見ていた場合 詳細ページから一覧に戻った時に、いちいちヘッダーから表示されていたのでは スクロールするのが面倒くさいな・・・と思っていました。 でも、それはブラウザに依存すると言う事がわかりました。 どうもすみませんでした。

関連するQ&A

  • JavaScriptで簡易お買い物サイト

    すっかり、JavaScriptを忘れてしまっていて、それでも即答が求められているので質問させていただきます。 PHPやCGIは使用することは出来ない状態で簡易お買い物サイト制作を依頼されました。PHPやCGIが使用出来ないってことはJavaScriptしか使えない?と思っています。このようなサイト構築はJavaScriptだけで可能でしょうか?(cookieを使用する予定です)ご教授いただけると助かりますのでよろしくお願いいたします! 流れはこんな感じです。 1)商品ページ(商品の詳細の掲載されているページ)+「注文」ボタン 注文ボタンをクリック 2)注文ページ(メールフォームで最終的には送る)   商品名(※)、単価(※)、個数(デフォルトで1個。セレクタで選べるようにする)、削除ボタン   (※)商品ページの「商品名」「単価」が自動表示   合計金額が自動反映   注文に必要なテキストフィールド(送り先住所やお名前など)   他に欲しい商品があれば商品ページに戻って注文ボタンをクリックして追加していく仕組みです。

  • WEBブラウザで、ページを戻っても最後に表示したタブ切替コンテンツ(javascriptで作成)を表示する方法を教えてください。

    javascriptで、ページ遷移せずに内容をタブ切替できるページを作成していますが、別ページへリンクしたあと、ブラウザでの「戻る」やjavascriptの「history.back」で戻ったときにタブコンテンツが最後の状態で表示できる方法がありましたら教えてください。 そのページはECサイトの商品紹介のページで、一覧のカテゴリをタブで切り替えられるようにしています。 一覧から詳細ページへ遷移し、そこから一覧へ戻った時に、最後に見ていた内容がリセットされてしまうことを回避したいです。 ユーザーはついさっきまで見ていた内容にたどり着くまでに不要な煩わしさが生じてしまうので良くないのです。 どうぞよろしくお願いいたします。

  • IEでJavaScriptが動かない?

    IE7を使用しています(WindowsXP/SP2)。 ヤフーのトップページ左上に「Yahoo!サービス」とあり その右側に「一覧」というボタンがあります。 これをクリックすると、通常はスライドして選択画面が表示されますが、私が使用しているPCではいきなり以下のページに飛んでしまいます。 http://services.yahoo.co.jp/ これはなぜでしょうか。 いろんなサイトをアクセスしても、ときどき「お使いのブラウザには対応していません」と、Javascript関係でのエラーメッセージが出てきます。インターネットオプションをすべてリセットしても同様です。Javascript制作サイトのサンプルで動作確認しましたが、Javascript自体は動いているようです。 ステータスバーにはときどき警告が出ています。詳細を見ると「・・・はNULLまたはオブジェクトではありません」が多いです。 原因がまったくわからないので助けてほしいです。 ちなみに上記症状はIE6のときから発生しています。 宜しくお願いします。

  • JavaScript かどうかも分からないのですが・・・?

    質問です、サイトを開くと別のページが降ってくる?様なサイトを良く見かけるのですが、ホバーウィンドウって言うのでしょうか? こちらを先ほどサイトに設置したのですが、友人からメールでを頂、そのページに行く度にウィンドウが降ってきて、毎回閉じないといけないからうっとおしい!と言われてしまいました。 以前どこかのページで「以後、表示させない」というところをクリックしたら、ブラウザを閉じるまでそのウィンドウが出てこなくなった物がありました。 興味があったのでソースを見たら、確か・・・・return false(ここだけ覚えてます)と書いてあったと思うのですが、これはJavaScriptを使うのでしょうか?違った場合これらを可能にするには何を使ったらよいのでしょうか? お分かりになる方がおられましたら宜しくお願いいたします。

  • javascriptでできる?

    商品名があり、それをクリックすると、別のページに飛び、そこに商品名の値をもっていくというのはCGIでのみ可能で、javascriptでは「絶対」できない・・のでしたか? (cgiなら) <A HREF="next.cgi?shouhin=商品名">商品名</A> (javascriptで何か方法ある?) <A HREF="next.htm">商品名</A> #ふと、自信がなくなったので質問しました。

  • ブラウザでjavascriptを使用したもので・・・

    こんにちは、 ブラウザでjavascript を使用したものを mac のG4以下(遅いPC)でそれを閲覧していると javascript のあるページとないページとで 読み込み速度が違う気がするのです。 javaありだと、読み込みの最中にブラウザ側で設定した背景色が 表示され、そのページ本来の背景色が次にでてきて、 どうも、醜いのです。 これは、javaありなしというので関係あるのでしょうか? javaなしのページでは、すぐにそのページの背景色がでて そのようなことがないのです。

    • 締切済み
    • Mac
  • JavaScriptについて教えてください

    勤務先の会社のサイトで給料明細を見ようとすると下記のメッセージが表示されます。 ↓↓↓↓↓ [I3013]このブラウザーでは、JavaScriptが無効になっています。 ブラウザーの オプションを変更してJavaScriptを有効にし、ブラウザーの再起動を行ってからアクセス してください。 ----------------------------- 調べるとJavaScriptは有効になっていました。 再起動しても同じメッセージが出て閲覧できません。 ブラウザはIE9です。 有効になっているのに同じメッセージが出るということは このパソコンでは見れないのでしょうか? 宜しくお願いします、

  • javascriptなどで見かける次の式、

    javascriptなどで見かける次の式、 どのような意味なのでしょうか? aにどのような場合どの値が入るのでしょうか? 教えて下さい! a = b || "";

  • javascript:void(0) に関して

    最近まで問題なくて閲覧できたいたサイトなのですが、急にリンク先が開けなくなってしまいました。オンラインショップのサイトなのですが、初回アクセス時は問題なくアクセスして表示されるのに、ページ内の商品の他の角度からの写真をクリックして見ようとするとjavascript:void(0)と左下に表示され、何も表示されません。以前は表示できていた商品でも、今は表示できなくなってしまいました。当方、全くもってネット初心者です。どなたかわかる方、よろしくお願いします。

  • JavaScriptを使用したリンク先が開かない

    JavaScriptを使用しているホームページが結構あります。 閲覧だけなら問題なく見れるのですが、そのページのリンク先をクリックしてもジャンプしない(開かない)ケースがあります。 具体的には、 「javascript: setWishList('2');」 とあるリンク先はクリックすれば開くのですが、 「javascript: itemStockSqlWinOpen();」 とあるリンク先はクリックしても開かず、なにも反応しません。 なにか設定に問題があるのでしょうか? ご存知の方、よろしくお願いします。 OS:WinXP HOME ブラウザ:IE6

専門家に質問してみよう