- 締切済み
HTMLでフレームなしのページからフレームありのページへ
過去の質問を探してみたのですが、なかなか私で理解できるような回答が見つからないのでお尋ねします。 現在ホームページを作成中で、フレームを使おうとしてますがトップページにはフレームを使わない仕様にしたいと考えてます。 トップページには、コンテンツが3つあり、フレームは1つでフレーム内の1カ所をそれぞれのコンテンツのページで表示させたいのです。 説明がわかりくくて申し訳ありません。 トップページ:index.html フレームページ:index2.html フレーム内:navi.htmlとmain.html このような構造でindex.htmlにA、B、Cそれぞれのコンテンツのリンクがあり、Aをクリックするとフレームページ(index2.html)のmain.htmlの部分のみがA用のページに入れ替わる。といった風にしたいのです。 A→mainA.html B→mainB.html C→mainC.html といった感じです。 それぞれのコンテンツ用にフレームページを増やす方法も考えて実行しましたが、できれば一つにしたいと思い、お尋ねします。 宜しくお願いいたします。
- みんなの回答 (5)
- 専門家の回答
みんなの回答
- goldfox
- ベストアンサー率49% (123/249)
indexからフレームを利用する。 index(メインフレーム内)とメニューフレーム内を背景やスタイルシートを駆使して、フレーム分けされていないように「見せかける」。 リンクはメニューとメインの両方を開けるよう、onclickを利用する。 これならframesetは1セットだけで済みますよ。
- koutarou504
- ベストアンサー率44% (182/407)
やはり基本は、それぞれの為のフレームを用意する事です。 HTMLとしては、それしか無理です。 他はCGIでも出来ますが見た目が1つで中身が複数という事ですけど・・・。 JavaScript でも出来ます。CGIと同様です。違うのは必要とする環境と必要とする知識です。 >できれば一つにしたいと そもそも何故そう思うのか・・・。 動作は A,B,C と複数なのですが・・・。 ファイルを減らしたいなら、フレームを止めるのが最良ですが・・・。 結局、多少の作成側の手間だけで作成側の知識も少なくて済み閲覧側も個別に「お気に入り」登録が出来たりなどのメリットがある個々のフレームの用意がお勧め。 (理想は、フレームなしとの併用可と私は思います。)
お礼
ご回答ありがとうございました。 今はフレームをコンテンツの数だけ作成してます。 JavaScriptやCGIも一度勉強して挑戦してみようと考えてます。 ありがとうございました。
- yambejp
- ベストアンサー率51% (3827/7415)
index2a.html,index2b.html,index2c.htmlを作る のが筋でしょう。 cgiかphpでindex2.php?main=a などのようにデータを受け取って動的に処理すると よいでしょう。 もちろん前出のとおり、javascriptという手もあり ますが、この場合のクライアントの環境依存は 危険がおおいのであまりお勧めしません
お礼
ご回答ありがとうございました。 今はフレームをコンテンツの数だけ作成してます。 CGIやPHPの知識はまだ不十分で少し難しいようです。 知識をつけて挑戦してみようと思います。 ありがとうございました。
- taskuni
- ベストアンサー率71% (49/69)
通常のHTMLの記述ではご希望の動作は出来ないと思われます。 JavaScriptを使って可能にする方法はあるようです。 (ひとりごと:あまりおすすめできません。フレーム無しで作る方がよっぽどスマートだと思います。)
お礼
ご回答ありがとうございました。 フレームなしでの作成も視野にいれて検討してみます。 ありがとうございました。
- tothemoon
- ベストアンサー率45% (14/31)
簡単に(^^;; コンテンツA リンク先 indexA.html フレームページ navi.htmlとmainA.html コンテンツB リンク先 indexB.html フレームページ navi.htmlとmainB.html コンテンツC リンク先 indexC.html フレームページ navi.htmlとmainC.html このようにリンク先をnavi.htmlを含んで指定すればOK
お礼
ご回答ありがとうございました。現段階では教えていただいたようにフレームをコンテンツの数だけ増やして使用しています。 やはりそれが一番スマートでかんたんなんでしょうね。 ありがとうございました。
お礼
ご回答ありがとうございます。 そういう手もありますね。気づきませんでした! その方法ならCGIやJavaScript、phpなどの知識がなくても出来そうですね。 一度、教えていただいた方法を試してみます。 ありがとうございました。