WEBブラウザで、ページを戻っても最後に表示したタブ切替コンテンツを表示する方法

このQ&Aのポイント
  • javascriptを使用して、WEBブラウザでページを戻っても最後に表示したタブ切替コンテンツを表示する方法を教えてください。
  • ECサイトの商品紹介ページで、一覧のカテゴリをタブで切り替えることができるページを作成しています。
  • しかし、別ページへのリンク後にブラウザの戻るボタンやjavascriptのhistory.backを使用してページに戻ると、タブコンテンツがリセットされてしまいます。これを回避する方法を教えてください。
回答を見る
  • ベストアンサー

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

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

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

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.2

自作再読込ボタンっていうのは 戻るだとか何かの原因で更新のjsが駆動しなかった場合に無理矢理jsを駆動させるためのボタン 戻るボタンを押す前のjsでcookieに状態を保存して再読込でcookieによって状況を把握するという手法。 でもあまりオススメできないかな。やっぱり戻るボタンは押させないに越したことは無いからね。

karashi13
質問者

お礼

ご回答ありがとございます。 結局、再読込みボタンをユーザーにクリックさせるアクションが必要になってきてしまうということでしょうか。 そうするとやはり得策ではないですよね。 ご丁寧に対応いただき、本当にありがとうございます。

その他の回答 (1)

  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

通常「戻る」を使わせない形にするしかないね。 ただ、history.backの方は対処できるよ。 backじゃなく、そのhistoryと同じ物に「進む」ならできるからね。 なんで他は無理かっていうと、戻るだと「javascriptが動作してくれない」から実はどうにもならない。 どうしてもっていうならcookie保存と「自作再読込ボタン」じゃないかな。

karashi13
質問者

お礼

さっそくのご回答ありがとうございます。 historyの使い方に仕掛けがあるのですね。 また、ブラウザの「戻る」はjavascriptを活かすことができないのですね。 現状の力では対応するのに相当時間がかかってしまいそうので、 今回の件では、タブ分けしていた分をページ化して対応することにいたしました。 勉強して、cookie保存に挑戦してみたいと思います。 ちなみに「自作再読込ボタン」とはどんなものなのでしょうか。 今回の場合、どのように役立つのでしょうか。 お時間にお差支えなければご教示ください。 よろしくお願いいいたします。

karashi13
質問者

補足

最終的にタブ分ページを作成し対応できました。 今回Javascriptを使う必要性は実際あまりなかった気がしました。 location.hashとアンカー組み合わせて対応可能かもしれないと友人から教えていただきました。勉強してまた質問させていただきます。 ご回答まことにありがとうございました。

関連するQ&A

  • タブ切り替えが出来るjavascriptを使用しています。

    タブ切り替えが出来るjavascriptを使用しています。 http://5am.jp/jquery/jquery_ui_tabs/ ここのサイトを参考にしてタブ切り替えが動くところまで行きましたが、 どうにかして、別ページからリンクをクリックした時に、特定のタブへ直接飛ぶようにしたいと思っています。 <script type="text/javascript">  $(function() {   $('#ui-tab > ul').tabs({ fx: { opacity: 'toggle', duration: 'fast' } });  }); </script> ヘッダーにある上記のjavascriptを少し編集すればできそうな気がするのですが、 もうお手上げになっちゃいました。 申し訳ないのですが、どなたか教えていただければと思います。 よろしくお願いします。

  • ページ読み込み時にcss、javascriptによるタブが崩れて表示されます

    cssとjavascriptでタブを作成したのですが http://www014.upp.so-net.ne.jp/kanikko/test/test.html これを組み込んだページを読み込んだときに、総てのタブのブロックが一瞬見える状態になります(htmlに書かれている内容が上から下にそのまま並ぶ感じです)(IE7で確認) そのページの内容が多いためでしょうか。 先にcssとjavascriptをページ読み込みより早く読み込む方法はあるのでしょうか?? アドバイスいただけたらと思います。 よろしくお願い致します。

  • Javascriptで曜日毎に自動でタブ切り替え

    曜日ごとにタブ切り替えを自動でおこなう方法 HPで曜日ごとに自動でタブを切り替える方法などありますでしょうか? こちらは複数ページを用意し各ページへリンクを飛ばすのではなく、単一ページでその内容を随時変えたいです。 現在、Javascriptを使い曜日の取得をおこなっております。 またその曜日ごとに合わせたタブを作り、タブの内容を曜日ごとに分けております。 日付は1週間毎自動で取得しますが、タブが一定の曜日を選択した状態で固定されてしまっています。(水曜日にサイトを訪問しても月曜日のタブが選択されている状態。) こちらを曜日に合わせたタブを自動で選択するように出来ますでしょうか?(水曜日にサイトを訪問したら最初から水曜日のタブが選択されている状態。) (例) 【現在】 ・月曜日→(月曜日のタブが選択されている状態で表示) ・火曜日→(月曜日のタブが選択されている状態で表示) ・水曜日→(月曜日のタブが選択されている状態で表示) 【理想】 ・月曜日→(月曜日のタブが選択されている状態で表示) ・火曜日→(火曜日のタブが選択されている状態で表示) ・水曜日→(水曜日のタブが選択されている状態で表示) できればPHPなどは使わず、JavaScriptで実装したいと考えております。 参考のサイトなども教えて頂けますと幸いです。 皆様どうぞよろしくお願いいたします。

  • Javascriptで曜日毎に自動でタブ切り替え

    曜日ごとにタブ切り替えを自動でおこなう方法 HPで曜日ごとに自動でタブを切り替える方法などありますでしょうか? こちらは複数ページを用意し各ページへリンクを飛ばすのではなく、単一ページでその内容を随時変えたいです。 現在、Javascriptを使い曜日の取得をおこなっております。 またその曜日ごとに合わせたタブを作り、タブの内容を曜日ごとに分けております。 日付は1週間毎自動で取得しますが、タブが一定の曜日を選択した状態で固定されてしまっています。(水曜日にサイトを訪問しても月曜日のタブが選択されている状態。) こちらを曜日に合わせたタブを自動で選択するように出来ますでしょうか?(水曜日にサイトを訪問したら最初から水曜日のタブが選択されている状態。) (例) 【現在】 ・月曜日→(月曜日のタブが選択されている状態で表示) ・火曜日→(月曜日のタブが選択されている状態で表示) ・水曜日→(月曜日のタブが選択されている状態で表示) 【理想】 ・月曜日→(月曜日のタブが選択されている状態で表示) ・火曜日→(火曜日のタブが選択されている状態で表示) ・水曜日→(水曜日のタブが選択されている状態で表示) できればPHPなどは使わず、JavaScriptで実装したいと考えております。 参考のサイトなども教えて頂けますと幸いです。 皆様どうぞよろしくお願いいたします。

  • フレームでの「戻る」について

    1.「ページA」から「ページB」へ遷移します。 2.「ページB」は「B1」と「B2」というフレームで構成されています。 3.「B1」のリンクをクリックすると「B1」内で内容が切り替わります。 4.ある特定のリンクの場合は「B2」に内容が表示されます。 上記のような遷移のあとで、「B1」のみ「戻る」の操作をしたいのですが、JavaScriptやブラウザの戻るボタンでは、「B2」や「B1」を遷移した順にしか戻る事ができません。 History.back()といった方法ではなく、遷移元へのリンクを直接書いたりといったことも考えたのですが、値を保持する必要も出てくるため、できれば単純な戻るの操作を行いたいです。 「B1」に記述したJavaScriptは以下の通りです。 「<A href="JavaScript:self.history.back();" target="_self"></A>」 「B1」のみ、つまり特定のフレーム内でのみ戻るの操作をするにはどのようにすればよろしいでしょうか。

  • Webページで最新のJavaScriptを読み込みたい

    Webページで最新のJavaScriptを読み込みたい Visual Studio 2008 でWebページを作成しています。 今、AというページとBというページがあり、それぞれのページにボタンを設け、 Response.Redirectで行き来できるようにしています。 それぞれのページは、  B:現在の状況に応じてJavaScript内に配列を作成  A:Bで作成したJavaScriptを読み込み、ボタンのクリックで内容を表示 という機能を持たせています。 今、BでJavaScriptを作成し、Response.RedirectでAのページに行くと、前の (キャッシュされている?)内容が表示されます。 →ここで、ブラウザの「更新」ボタンをクリックすると、最新の内容になります。 切り替わったときに、最新の状態のJavaScriptを読ませようと、  A.aspx?data=xxxxx (xxxxxは乱数)としましたが、状況は同じでした。 Aのページで、いつでも最新のJavaScriptを読み込ませることはどうすればでき るのしょうか。

  • Javascriptを最後に実行する方法

    サイト内に他のページ情報を表示するJavascriptを記述したところ、 他ページの情報を読み取るのに時間がかかり、結果としてJavascriptの記述部分以降の 表示が遅くなるようです。 いろいろ調べたところでは、Javascriptをページ最後で実行させればよいことは分かったのですが、 Javascriptの表示場所は変えずに、実行だけを最後に行うことはできるのでしょうか? 実行させたいJavascriptは以下の内容です。 <SCRIPT language="JavaScript" src="http://XXXX"></SCRIPT> ※RSSを表示する

  • タブ切り替え 複数同時を複数組 javascript

    タブ切り替え 複数同時を複数組 javascript タブ切り替えのページを作りたいのですが ググっても複数同時に切り替えるものや複数組のものはあっても 複数同時を複数組切り替えるものはありません。 したいことは |タブ1|タブ2|タブ3| |コンテンツ1-1|コンテンツ1-2|コンテンツ1-3| |タブ4|タブ5|タブ6| |コンテンツ4-1|コンテンツ4-2|コンテンツ4-3| |タブ7|タブ8|タブ9| |コンテンツ7-1|コンテンツ7-2|コンテンツ7-3| ・ ・ ・ これが |タブ1|タブ2|タブ3|←タブ2を押した場合 |コンテンツ2-1|コンテンツ2-2|コンテンツ2-3| |タブ4|タブ5|タブ6|←タブ5を押した場合 |コンテンツ5-1|コンテンツ5-2|コンテンツ5-3| |タブ7|タブ8|タブ9| |コンテンツ7-1|コンテンツ7-2|コンテンツ7-3| ・ ・ ・ というのができません。 上のタブを操作すると 下のコンテンツが消えてしまい 下のタブを操作すると 上が消えたり また複数タブできた場合は 複数箇所同時はできませんでした。 javascript初心者の私にどなたかご教授を。 コンテンツそのものを消すやり方でもいいですが なるべくclassを変更で消す方法がいいです。 よろしくお願いします。

  • Javascriptで曜日ごとにタブ切り替えを自動

    HPで曜日ごとに自動でタブを切り替える方法などありますでしょうか? こちらは複数ページを用意し各ページへリンクを飛ばすのではなく、単一ページでその内容を随時変えたいです。 現在、Javascriptを使い曜日の取得をおこなっております。 またその曜日ごとに合わせたタブを作り、タブの内容を曜日ごとに分けております。 (サンプルサイト) http://sample.ul-inc.jp/ 日付は1週間毎自動で取得しますが、タブが一定の曜日を選択した状態で固定されてしまっています。(水曜日にサイトを訪問しても月曜日のタブが選択されている状態。) こちらを曜日に合わせたタブを自動で選択するように出来ますでしょうか?(水曜日にサイトを訪問したら最初から水曜日のタブが選択されている状態。) (例) 【現在】 ・月曜日→(月曜日のタブが選択されている状態で表示) ・火曜日→(月曜日のタブが選択されている状態で表示) ・水曜日→(月曜日のタブが選択されている状態で表示) 【理想】 ・月曜日→(月曜日のタブが選択されている状態で表示) ・火曜日→(火曜日のタブが選択されている状態で表示) ・水曜日→(水曜日のタブが選択されている状態で表示) できればPHPなどは使わず、JavaScriptで実装したいと考えております。 参考のサイトなども教えて頂けますと幸いです。 皆様どうぞよろしくお願いいたします。

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

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