- 締切済み
フレームをリセットする方法
とあるサイトで下記のようにリセットボタンを設けていたのですが これはどうやるのでしょうか? 左と右にフレームで区切っていて、 左側はメニュー・コンテンツ、右側には本文が表示されます。 一例)検索サイトから入った場合 検索サイト→該当サイト→左メニュー1クリック(右にはコンテンツ1が表示)→左メニュー2クリック(右にはコンテンツ2が表示)→ 左メニューのリセットをクリック→ブラウザの戻るをクリック→検索サイトへ 要するに、リセットボタンを押すことによって、コンテンツ1と2を表示させた履歴が消えている状態です。 リセットを押さずにブラウザの戻るをすると、当然一旦コンテンツ1を挟んで、ようやく元のページに戻ります。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- auty
- ベストアンサー率58% (284/486)
IEでは確かに確認できましたが、Foxfireでは履歴は残ったままでした。 これはブラウザにより動作が異なる事が原因のようです。 ご指摘のホームページ(HP)を調べましたところ、 <a href="http://79orsi.web.fc2.com/" target="_parent">reset</a> となっており、この target="_parent" は、単にフレームをひとつ解除するだけで、このページは、最も単純なので target="_top" と同じです。これは、「履歴が消える」というよりも単に"http://79orsi.web.fc2.com/"へ リンクしているだけだと思います。 ただしこのとき、IEは確かに履歴も消しているようです。 ・ 従って、対象者がIEのみであれがこの方法は採用できますが、一般には期待できません。 Foxfireにも同じような機能があればいいんですが。 ・ 私の最初に述べた方法は、サーバサイドの話になるのでハードルは高いかもしれません。 その効果もわかりません。 ・ ちなみに、自分で使うテクニックに限られますが、シフトキーを押しながらクリックというのがあります。 これをやると、新たに別のWindowが開かれます。新しいWindowでは履歴はなくなっていますが用事が終われば、Windowを閉じることによって確実に確実に元のWindowには戻れます。 ・ これをHTMLでやるには、 <a href="http://79orsi.web.fc2.com/" target="_blank">reset</a> という方法で target="_blank" を使います。実は、あなたの張られた当ホームページのリンクがこうなっています。すなわちここに戻ってくるには、新しいWindowを閉じればよいわけです。 ----------------------------------------------------------- 以上、ご期待に添えていないかもしれませんが、とりあえず調べた結果を報告します。
- auty
- ベストアンサー率58% (284/486)
確認していませんが、 <input type = "hidden" name="count" value="隠しデータ"> で検索サイト内での移動回数を保存することが出来ると思います。 JavaScriptで毎回1ずつ増加します。 リセットボタンで history.back(-count2); を実行することにより、検索サイトから入った時の履歴に戻す。 もちろん、count2は、+1または-1の調整は必要でしょう。
お礼
早速のご返答ありがとうございます。 初心者ながらにネットで検索しながら奮闘してみたのですが、なかなかうまく出来ません。 「隠しデータ」というのは何でしょうか?このまま打ち込むのでは ないですよね…?(本当に初心者ですみません) リセットボタンに「history.back(-count2)」と機能させるようには したのですが「(-count2)は宣言されていません」とエラーになってしまいます。 ちなみに試しに <A HREF="JavaScript:history.go(-history.length)">reset</A> とやってみると、ブラウザの履歴の中で一番始めの画面に行くことは 出来たのですが、私の求めているのは 「私のページを開いた中での初期状態に戻す」ことなのでダメでした。
補足
なかなか説明しづらいので、参考URLを記載します。 http://79orsi.web.fc2.com/ この左下の「reset」と同じ動作をさせたいです。
お礼
autyさん 二度もありがとうございました! なるほど、ブラウザによっても動作が違うのですね…。 大変勉強になりました。 新たに別のWindowを開くお話までしていただいて、本当にありがとうございます!