OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
締切り
済み

フレーム上部分を引っ張り込むリンク方法

  • すぐに回答を!
  • 質問No.229462
  • 閲覧数82
  • ありがとう数0
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 14% (46/319)

少し複雑なので文章で説明できるといいのですが・・・

まずTOPページがあります。
次にフレームで上下に分割したメニューページ「A」があります。

「A」の上部分はメニュー項目なので固定です。
下部分は「B」「C」と色々変わっていきます。

通常「A」→「B」にリンクする時は、ターゲットで指定してあげると
ちゃんとフレームの上部分も付いてきますよね?

問題は、TOPページ→「B」にリンクしたときは、当然ながら上部分のフレームは外れてしまいます。
この場合の解決策は、すべての「B」「C」にフレームを付けるというので解決できますが、これが膨大な量なのです。

この場合、JAVAスクリプトでもなんでもかまいませんが、上部分のフレームを引っ張りこめる方法を教えて下さい。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

回答 (全4件)

  • 回答No.1
レベル13

ベストアンサー率 25% (453/1783)

フレームにする場合は、例えば、上下2つに分けるのであれば、全体構成を決めるファイル(index.htmlとします)、上の部分(index1.htmlとします)、下の部分(index2.html)の3つのファイルで構成します。 しかし、そのindex.htmlを呼ばずに、index1.htmlまたはindex2.htmlだけを使えば、フレームにならないのは当然ですね。 ですから、最近の流行としてはフレー ...続きを読む
フレームにする場合は、例えば、上下2つに分けるのであれば、全体構成を決めるファイル(index.htmlとします)、上の部分(index1.htmlとします)、下の部分(index2.html)の3つのファイルで構成します。
しかし、そのindex.htmlを呼ばずに、index1.htmlまたはindex2.htmlだけを使えば、フレームにならないのは当然ですね。
ですから、最近の流行としてはフレームを作らずに、ヘッダーとしてあつかうのが流行っています。
つまり、index2.htmlに相当するファイルだけにして、その中にindex1.htmlの部分も書いてしまいます。
そして、そのindex1.htmlに相当する部分をJavaScriptで外出しファイルにしておくのが一般的なやりかたです。
補足コメント
kosa

お礼率 14% (46/319)

大変、興味深いアドバイスです。
もっと詳しく教えていただけるとありがたいです。

特にJavaスクリプトについては、ソースや参考URLを教えて頂けるとうれしいです。
投稿日時 - 2002-03-05 15:53:53


  • 回答No.2
レベル11

ベストアンサー率 41% (90/218)

 質問の意味がいまいち把握しきれていないのですが、  TOPページから「A」のようなフレーム用のページ「Z」へリンクさせて、「Z」の中にあるフレームへ「B」や「C」を読み込むという風ではだめなんでしょうか?    フレームは多重にかけることも可能ですから間に一つフレーム用のページをはさんでみてはいかがでしょうか?
 質問の意味がいまいち把握しきれていないのですが、
 TOPページから「A」のようなフレーム用のページ「Z」へリンクさせて、「Z」の中にあるフレームへ「B」や「C」を読み込むという風ではだめなんでしょうか?
 
 フレームは多重にかけることも可能ですから間に一つフレーム用のページをはさんでみてはいかがでしょうか?
  • 回答No.4
レベル13

ベストアンサー率 25% (453/1783)

はい(⌒ ⌒)No.1のものです。 追加質問を頂きましたので・・・ 例えば、上のフレームでは、メニューとして、いくつかのリンクがあり、それをどのページにも出したいので、フレームにして、固定しているんですよね? 「旅行」「遊び」「食事」の3つのリンクがあるとします。 すべてのHTMLファイルの<head>と</head>の間に次のように書きます。 <script ...続きを読む
はい(⌒ ⌒)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ファイルのヘッダーが同時に変わります。
これは基本形なので、あとは、ロゴやサイト名を追加するなどの工夫をしてください。
これでいいでしょうか?
補足コメント
kosa

お礼率 14% (46/319)

ありがとうございます。
しかし、上記の方法はスマートではないですね 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では無事に動いてくれます。
アドバイスを頂いた皆様に感謝します
投稿日時 - 2002-03-06 14:00:55
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ