こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

JavaScriptによる他ページからのページ遷移について

1ページ内に表示されている内容をそれぞれ3区画(#1,#2,#3)に分けて、JavaScriptのdocument.getElementByidを組み合わせて、1項目づつ表示させるシステムを作成しています。

#1を表示させたい場合は
document.getElementById("hoge01").style.display = "block";
document.getElementById("hoge02").style.display = "none";
document.getElementById("hoge03").style.display = "none";
といった具合です。

それぞれの区画をリンク先に指定して外部から区画別に表示させたいと考えているのですが、うまい具合の仕組みが思いつきません。

他のページでリンクを作り、location.hrefでURLを取得してそこに表記してある#1 #2 #3 でそれぞれ判定して・・・といった感じのものを考えていたのですが、それ以外でもうまく表示されるような仕組みをご教授ください。よろしくお願いします。

投稿日時 - 2009-08-18 13:16:00

QNo.5216673

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

要は、表示させたい区画(?)の番号を保持する方法ということですよね?
方法はいろいろあると思いますが、すぐに思いつく簡単な方法としては、

<方法1>
ご質問文にもあるように、リンクする際のURLに情報を付加しておく。
location.searchを利用するなどして、http://www.yyy.zzz:8000/aaa/bbb/ccc.cgi?display=1などとしておくとか…
表示する際に、最初にここを見て表示する区画を操作する。search部が無い場合はデフォルトの表示にするなど。
#1みたいな記法にすると、location.hash扱いになる可能性あり。

<方法2>
クッキーを利用する。
方法1だとアドレスバーにそのまま表示されてしまうので、それを表に出さないでやるなら、リンク前にクッキーに保存しておいて、オンロード時にクッキーを読む。後は1と同じ。

<方法3>
使ったことはないけど、クッキーの変わりにDOMStorageを利用して値を引き継ぐ。後は1、2と同じ。

結局、値を引き継ぐだけなので、サーバーを介するとか他にもいろいろ方法は考えられますが、簡単そうなのはこんなところでしょうか?

投稿日時 - 2009-08-18 17:56:13

あなたにオススメの質問