• ベストアンサー

1つのページ中をあちこちJUMPした後は戻るボタンが訳に立たない

皆さん、こんにちは 私は今、家庭内網専用のスーパー辞書ウルトラデータベースミラクルイントラネット総合システムを作っています。 かなり気合い入ってますw 寝る時以外はPCに向かってますw って話は置いといて 皆さんに、お聞きしたいのですが <A>タグで1個のページ上を、あちこち飛び回った場合、前のページに戻るには「戻る」ボタンを何回も押さなくちゃなりませんよね。 そこで、一気に前のページまで戻れるようなボタンを作って全部のページに組み込みたいのですが、そういうことは出来ますか。 どなたか、やり方を教えてください。

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

  • ベストアンサー
  • UKY
  • ベストアンサー率50% (604/1207)
回答No.2

IE 限定っぽいですが、同じページ内を移動するときにリンクではなくスクリプトを使ってやると、履歴を汚さずに移動できるような気がします。 移動先の A タグを <a id="destination">~~~~</a> とでもしておいて、 移動元の A タグを <a href="javascript:destination.scrollIntoView()">~~~~</a> という感じにしておけば、移動先まで画面をスクロールするのと同じ効果が得られるはずです。 試してないので自信なしですが……。

参考URL:
http://www.makoto3.net/dhtml_ie/dhtml_ie5_0013.html
zyousuke
質問者

お礼

ご返信ありがとうございます。 おお、出来た!!出来ましたよ!! なるほど「戻る」ボタンを改良するのではなく<A>タグを改良して1つ前のページを確保するのですね。 目の付け所がアイデア賞ですね。 しかし、もっと複雑なソースになると覚悟していたのですが、こんなに簡単な行でスクリプトが作れてしまうのですね。 さて、ちょっと(というかかなり)気が遠くなりますが今から全部のページの<NAME>タグを、お教えいただいたスクリプトに置き換える作業に入りたいと思います。 ところでご紹介いただいたページは、また違う手法でページをスクロールしているようですが、こちらの方法だとリンクをクリックしたときにいつも鳴る「かちっ」という音が鳴らないようです。 環境のせいかも知れませんが、ちょっと今は頭の中がいっぱいいっぱいなので、このページの手法を研究するのはまた次の機会にしますw

その他の回答 (1)

  • hirocha
  • ベストアンサー率39% (21/53)
回答No.1

  とほほのWWW入門 から、Javaスクリプトリファレンスの履歴機能のページです。 http://tohoho.wakusei.ne.jp/js/history.htm 同じページ内を行き来すると、いくつ戻れば前の「ページ」に戻れるのか、その時によるので定かではありませんよね。場合によっては見ている時でもわからなくなったり。 という事を踏まえて、以下のことをやってみるのはどうでしょう。 この上記 Java スクリプトで、たとえば「とりあえず5つ戻ってみる」とか「3つ戻る」とかいう種類のボタンをつくって各ページにつけるのはどうでしょう。通り過ぎることも多々あるでしょうが、1クリックだし、気分的にはラクかもしれません(?) あ、でも「4つ進む」なども併記しないと、通り過ぎてしまった時は不便ですよね…。 私にこれはできないのですが、Web上でテキスト入力欄をつけて [ ]コ前にもどる [go] 等というスクリプトの作成を誰か詳しい人に依頼してみるとか。(意外と探したらあったりして…。) けどコレができても、何個戻ればいいのか正確にわかってないと混乱の元ですし…。 一番安全そうなのは、ブラウザの「戻る」ボタンの右側の「▼」マークをクリックして様子を見ながら戻るのが一番確実ですが。 他にできる対策として、各ページのタイトルを、一目見ただけで「あ、これは●●のページね」とわかりやすいものにしておくことがあります。これだと、違うページはタイトルも変わるので、ブラウザの「戻る」ボタンが使いやすくなります。 あとは、ブラウザキャッシュが気になるのなら貯めない設定にしておいて、別フレームでメニュー専用(もしくは検索ボタンつき)ページをつくるとか…。 #name 指定以外の、別ページへのハイパーリンクのみ、全て別ウインドウで開く設定にするというのも手です。戻る必要なくなりますから。 エディタの置換え機能で、 .html"> を、全て .html" target="_blank"> に置き換えれば、最小限の労力で既成の全ページのリンクをそのように変更できると思います。(不具合発生に注意しつつ^^;) ウインドウを何個も出したくない場合は、フリーウェアのタブ型ブラウザに変更する事で対処できます。表示機能は IE のものですし、たいていは IE より便利につくってあるので、とくに損はしないと思います。(もともとIEユーザだった場合) …まあ、もし何もなかったらの、最後の手段、という感じで読み流しておいてください(^^;  

参考URL:
http://tohoho.wakusei.ne.jp/js/history.htm
zyousuke
質問者

お礼

hirochaさん、たくさん案を考えていただきありがとうございます。 全部読んでみて最もスマートな方法は、やはり「戻る」ボタンの右側の「▼」マークを利用することだと思いました。 私はたまたま全てのページに分かりやすい日本語のタイトルを付けてありましたので、この方法は効果的だと思いました。 しかし、やはり希望としては同ページ内でのジャンプ履歴は全部無視して前のページまで一気に戻るボタンを作りたかったのですが、やはり相当難しいのでしょうね。 次にhirochaさんから頂いた各案を評価してみます。 まず、戻る数を指定してジャンプするボタンですが、やはりご指摘にもあるとおり目標のページを通り過ぎてしまったり、そのための「進む」ボタンの設置の必要があったりと 「▼」マークよりも実用性に劣ると思いました。 次に別フレームからページを操作する案ですが、これは実際にやってる人も結構いると思うのですが、フレームってメイン画面が小さくなってしまって、その中にフレームを使うとさらにメイン画面が小さくなってしまったりするので私はあんまりフレームが好きじゃないです。 上記の理由でフレームを敬遠してる人は結構いるのではないでしょうか。 次の新しいウィンドウで開くという案もまた、文中のご指摘の通りウィンドウをいくつも出したくないことから却下としました。 最後のウェブブラウザを乗り換えるという案は、かなり冒険ですね。 たまにネスケを使ったりするのですが操作に慣れていないせいか使いづらいのなんのってw あと私はウィンドウズXPを使っているのですがスタートボタンの中に「インターネット」というアイコンがあり、これを押すと自動的にIEが起動するようです。 他のウェブブラウザを「インターネット」ボタンに割り当てようと試行錯誤してみたのですが、どうも出来ないようです。 これも乗り換えに踏み切れない1つの理由ですね。 さて、しばらくは「▼」マークに頼りつつ引き続き皆さんからの案を大募集したいと思います。 よろしくお願いします。

関連するQ&A