少し複雑なので文章で説明できるといいのですが・・・
まずTOPページがあります。
次にフレームで上下に分割したメニューページ「A」があります。
「A」の上部分はメニュー項目なので固定です。
下部分は「B」「C」と色々変わっていきます。
通常「A」→「B」にリンクする時は、ターゲットで指定してあげると
ちゃんとフレームの上部分も付いてきますよね?
問題は、TOPページ→「B」にリンクしたときは、当然ながら上部分のフレームは外れてしまいます。
この場合の解決策は、すべての「B」「C」にフレームを付けるというので解決できますが、これが膨大な量なのです。
この場合、JAVAスクリプトでもなんでもかまいませんが、上部分のフレームを引っ張りこめる方法を教えて下さい。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
はい(⌒ ⌒)No.1のものです。
追加質問を頂きましたので・・・
例えば、上のフレームでは、メニューとして、いくつかのリンクがあり、それをどのページにも出したいので、フレームにして、固定しているんですよね?
「旅行」「遊び」「食事」の3つのリンクがあるとします。
すべてのHTMLファイルの<head>と</head>の間に次のように書きます。
<script language="javascript" src="header.js"></script>
そして、「header.js」は次のようにします。
<!--
document.write(<table border=0 width=100% bgcolor=silver>);}
document.write(<tr>);}
document.write(<td>);}
document.write(<table border=0>);}
document.write(<tr>);}
document.write(<td><a href="ryokou.html">|旅行|</a></td>);}
document.write(<td><a href="asobi.html">遊び|</a></td>);}
document.write(<td><a href="syokuji.html">食事|</a></td>);}
document.write(</tr>);}
document.write(</table>);}
document.write(</td>);}
document.write(</tr>);}
document.write(</table>);}
// -->
これで、すべてのHTMLファイルには同じヘッダーが入ります。
メニューが増えたり、変更になった時は「header.js」だけを変えれば、すべてのHTMLファイルのヘッダーが同時に変わります。
これは基本形なので、あとは、ロゴやサイト名を追加するなどの工夫をしてください。
これでいいでしょうか?
この回答への補足
ありがとうございます。
しかし、上記の方法はスマートではないですね w
一つ一つをタグを挿入しないといけいない。
色々と勉強した結果
下記のスクリプトで動くことがわかりました。
トップページを、「100%,*」のフレームにします。そしてこのトップページに、フレームを生成するJavaScriptの関数を書いておきます。
---- index.html (抜粋)
<SCRIPT language="JavaScript">
function openFrame( url ) {
with ( frames['top_main'] ) {
document.open();
document.write( '<FRAMESET rows="100,*"><FRAME src="メニューのURL"><FRAME name="main" src="' + url + '"></FRAMESET>' );
document.close();
}
}
</SCRIPT>
<FRAMESET cols="100%,*">
<FRAME src="トップページのURL" name="top_main">
<FRAME src="test1.html">
</FRAMESET>
---- ここまで
そしてトップページ(仮にtoppage.htmlとしておきます)には、
---- toppage.html (抜粋)
<A href="javascript:parent.openFrame( 'ページ1のURL' );">ページ1へ</A>
---- ここまで
また新しいウィンドウで開きたかったので
下記のようになりました
<SCRIPT language="JavaScript">
function openFrame( url ) {
var swin = window.open( '', 'subWin' );
swin.focus();
with ( swin ) {
document.open();
document.write( '<FRAMESET rows="100,*"><FRAME src="メニューのURL"><FRAME name="main" src="' + url + '"></FRAMESET>' );
document.close();
}
}
</SCRIPT>
<A href="javascript:openFrame( '1ページ目のURL' )">1ページ目へ</A>
ネスケでは確認していませんが、IEでは無事に動いてくれます。
アドバイスを頂いた皆様に感謝します
No.2
- 回答日時:
質問の意味がいまいち把握しきれていないのですが、
TOPページから「A」のようなフレーム用のページ「Z」へリンクさせて、「Z」の中にあるフレームへ「B」や「C」を読み込むという風ではだめなんでしょうか?
フレームは多重にかけることも可能ですから間に一つフレーム用のページをはさんでみてはいかがでしょうか?
No.1
- 回答日時:
フレームにする場合は、例えば、上下2つに分けるのであれば、全体構成を決めるファイル(index.htmlとします)、上の部分(index1.htmlとします)、下の部分(index2.html)の3つのファイルで構成します。
しかし、そのindex.htmlを呼ばずに、index1.htmlまたはindex2.htmlだけを使えば、フレームにならないのは当然ですね。
ですから、最近の流行としてはフレームを作らずに、ヘッダーとしてあつかうのが流行っています。
つまり、index2.htmlに相当するファイルだけにして、その中にindex1.htmlの部分も書いてしまいます。
そして、そのindex1.htmlに相当する部分をJavaScriptで外出しファイルにしておくのが一般的なやりかたです。
この回答への補足
大変、興味深いアドバイスです。
もっと詳しく教えていただけるとありがたいです。
特にJavaスクリプトについては、ソースや参考URLを教えて頂けるとうれしいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
どのページもすべて同じURLなの...
-
ページが変わっても同じ音楽を...
-
pythonのエラーについての質問...
-
DREAMWEAVERでフレームのリンク...
-
HPの一部に他のHPを表示
-
フレームの片方だけを更新(リロ...
-
Macでは表示されない?
-
フレームを使ったときに横スク...
-
フレームの表示と非表示の切り替え
-
フレームで指定している送信先...
-
htmlのフレームについて
-
HTMLの中に別のHTMLを表示
-
フレーム内のPHPへPOSTで情報を...
-
フレーム内にあるメニューから...
-
部分ページURLへのアクセスでト...
-
画面の一部だけ更新したいので...
-
フレーム内でトップに戻るよう...
-
質問iframeの中にページを自動...
-
Excelで、社外秘(閲覧のみ)と...
-
HTMLからフォルダを開きたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
どのページもすべて同じURLなの...
-
pythonのエラーについての質問...
-
フレームで指定している送信先...
-
フレームの片方だけを更新(リロ...
-
frameの内容が表示されない
-
2つのページを重ねたい
-
WebサイトでHTMLのフォームに隠...
-
URLを変えないで表示する方法
-
フレームページが表示されない...
-
iframeを使わないで・・・
-
html 左メニューから右への表示...
-
formデータ送信時にフレームペ...
-
フレームが表示されない><
-
直リンクとは。
-
HP全体にmidiを・・・
-
HTML、1クリックで複数画像表示
-
HTML フレーム内にWebページを...
-
フレームがあるページでの更新...
-
フレームの表示と非表示の切り替え
-
「無題ドキュメント」の名前変...
おすすめ情報