• 締切済み

複数のページ履歴保持

ちょっとコーディングでつまづいています。 例えば、 1.html→a.html→target.html に通常のリンク(a href)で移動するとき、1.htmlからa.htmlのページ移動履歴は、 a.htmlはdocument.URLで、1.htmlはdocument.referrerで取得できますが、 a.htmlからtarget.htmlでは一番初めの1.htmlが取れません。 要は、最終的にtarget.htmlに来たときに、「1.html→a.html→target.html」を表示させたいのです。 これは可能でしょうか?ただし、クッキーを使わないという条件付で。 お判りになる方、お知恵を拝借願います。

みんなの回答

  • pick52
  • ベストアンサー率35% (166/466)
回答No.2

> Cookieを使わず、かつ一種のグローバル変数でページ移動履歴を取りたいんです。 historyオブジェクトで履歴の数を取得することは可能なものの そこから履歴のURLやタイトルを取得する方法はないようですね。 結構需要があるようにも思えるのですが...。 結局、CGIにURL情報を渡してやってCGI側で管理(保存)してやるのが 一番スマートだと思います。

ikeike77
質問者

お礼

自力解決しました。 やはりCookieを使わずにページ履歴は取る方法がなかったようです。 ともあれ、ご回答ありがとうございました。

  • pick52
  • ベストアンサー率35% (166/466)
回答No.1

JavaScriptが有効な環境限定で更に複数ページ前が存在することを 前提とするなら history.go(n); で前のページに戻ったり次のページに進めます。 history.go(-1); // 1 ページ戻る history.go(3); // 3ページ進む ページのURLだけ取得する方法は分かりません。 それはCGIなどを使用したりURLにクエリ渡したりして無理矢理 実現させるしかないでしょう。 (どちらにしても限界はある)

参考URL:
http://www.tohoho-web.com/js/history.htm
ikeike77
質問者

補足

確かにページ間を移動するだけなら、仰る方法でいいかと思いますが、 CGIは使わずにJavaスクリプトだけで実行したいんです。 Cookieを使わず、かつ一種のグローバル変数でページ移動履歴を取りたいんです。

関連するQ&A