• 締切済み

フレームありのページにリンクしてさらにそこに表示するHTMLも指定する

まずフレームのなしのページ(以降A)からフレームありのページ(以降B)へリンクさせます。 そしてBは毎回違うものを表示したいのです。 そこで、今まではAのリンク先を常にBにしてBのフレームのソースを毎回書き換えてました。例えば以下のmain001.hrmlをmain002.htmlにしたりして。 <FRAME name="header" scrolling="NO" src="header.html" frameborder="NO" noresize> <FRAME name="main" src="main001.hrml" scrolling="AUTO" frameborder="NO" noresize> ですが、毎回このフレームのソースを買えるのではなく、 Aのリンクの記述を変えることでBのフレームのmainのHTMLを変更したいのです。 要はフレームのページへリンクしてさらにそこに表示するHTMLもリンクもとのページから制御したいのです。 できるんでしょうか? お願いいたします。

みんなの回答

  • mirurin
  • ベストアンサー率43% (48/111)
回答No.2

<A>タグの中でファイル名を指定する事は可能ですよ。 <script language="JavaScript"> function framepage(filename) { document.open(); document.write("<frameset rows='30%,*'>"); document.write("<frame name='header' src='header.html'>"); document.write("<frame name='main' src=" + filename + ">"); document.write("</frameset>"); document.close(); } </script> <a href="javascript:framepage('main001.html')">リンク</a> ---------------------------------------------------------------------- 書き換えた箇所は以下の3行 1.'main001.html'を引数に指定。 <a href="javascript:framepage('main001.html')">リンク</a> 2.引数を filename という変数で受け取る function framepage(filename) { 3.変数を使用する。 document.write("<frame name='main' src=" + filename + ">");

  • mirurin
  • ベストアンサー率43% (48/111)
回答No.1

やりたい事と少し違うかも知れませんが... <script language="JavaScript"> function framepage() { document.open(); document.write("<frameset rows='30%,*'>"); document.write("<frame name='header' src='header.html'>"); document.write("<frame name='main' src='main001.hrml'>"); document.write("</frameset>"); document.close(); } </script> <a href="javascript:framepage()">リンク</a>

kojio03
質問者

お礼

ありがとうございます。ただ、理想的なのは <a href="javascript:framepage()">において 例えば <a href="javascript:framepage(main001.hrml)"> などとして、リンクの記述の部分で指定したいのです。 上記方法でいろいろ試してみたのですがうまくいきませんでした・・

関連するQ&A

  • フレームページが崩れる。。。

    フレームページを使っているのですが、見る人によってはページの一部が切れて 見えない部分もあるらしいです。ブラウザの大きさを変えてもレイアウトだけは 崩さない為には、どこにどんなタグが必要なんですか? 現在のフレームの親ページのソースです。 <FRAMESET rows="30%,70%" frameborder="NO" border="0"> <FRAME src="ue.html" scrolling="NO" noresize> <FRAMESET cols="20%,80%" frameborder="NO" border="0"> <FRAME src="side.html" scrolling="NO" name="menu" noresize> <FRAME src="main.html" name="main" noresize> </FRAMESET> <NOFRAMES>

    • ベストアンサー
    • HTML
  • フレームセットができない・・

    フレーム構造のページを直に呼び出すためのリンクを作ろうとしています。 要は、フレームがセットされた状態で呼び出すということです。 http://www.ほげ.net/ほげ/ほげ/021107_ほげ.html    メイン部分のURLがこうだとして。 http://www.ほげ.net/ほげ/ほげ/021107_ほげ2.html この場合は、同じディレクトリーにソースを入れ込みます。ファイル名は 021107_ほげ2.htmlです。そうすれば、例えばメルマガなどで上記URLを入れ込 めば、フレームセット状態でページが表示されるはずなんですが メインの文章の右側をスクロールさせます。で、以下のようなソースを作った のですがどうしてもメインのhtmlが出てきてくれません。 □□□□□□□□□□□□□□□□□□□□□□□               header.html □□□□□□□□□□□□□□□□□□□□□□□   □   □ ※   □ ス   □               ク menu.html  □               ロ   □               ル   □ ****.html   ※ ------------------------------------------------ </HEAD> <frameset rows="90,*" border="0" framespacing="0" frameborder="NO"> <frame src="../../header.html" name="header" noresize scrolling="NO"> <frame src="../../menu.html" name="left" noresize scrolling="NO"> <FRAME SRC="*****.html" NAME="main" SCROLLING=YES> <NOFRAMES> <BODY> このページを見るのにはフレームの表示ができるブラウザが必要です。 </BODY> </NOFRAMES> </FRAMESET> </HTML>

    • ベストアンサー
    • HTML
  • ブラウザによってフレームの表示が異なるのですが..

    はじめまして。 現在下記のような形のHPを制作しているのですが、フレームが難しくてなかなか進めません。 ブラウザやそれぞれの環境によって見え方が違ってしまいます。 私の環境では真ん中にぎゅっと詰まってスクロールが出てしまうような小さな見え方になってしまっています。 どの環境で見ても統一させるにはどのようにしたら良いのでしょうか。 ------------------------------ 上の固定バー ------------------------------ メニュー|内容     |     |     |     | ------------------------------ 下の固定バー ------------------------------ ソースは以下のように組みました。 <frameset rows="10%,*" cols="*" framespacing="0" frameborder="no" border="0"> <frame src="Margin/Index.html" scrolling="No" noresize title="topFrame"> <frameset rows="*,230" cols="*" framespacing="0" frameborder="no" border="0"> <frameset cols="215,*" frameborder="no" border="0" framespacing="0"> <frame src="Margin/Index.html" scrolling="No" noresize title="menuBarFrame"> <frameset cols="*,25%" frameborder="no" border="0" framespacing="0"> <frameset rows="64,*" frameborder="no" border="0" framespacing="0"> <frame src="topbar/topbar.html" scrolling="No" noresize title="topBarFrame"> <frameset rows="*,41" cols="*" framespacing="0" frameborder="no" border="0"> <frameset rows="*" cols="178,*" framespacing="0" frameborder="no" border="0"> <frame src="menu/menu.html" scrolling="No" noresize title="leftFrame1"> <frame src="top/top.html" name="main" title="topFrame"></frameset> <frame src="bottombar/bottomBar.html" scrolling="No" noresize title="bottomFrame1"> </frameset> </frameset> <frame src="Margin/Index.html" scrolling="No" noresize title="rightFrame"> </frameset> </frameset> <frame src="Margin/Index.html" scrolling="No" noresize title="MenuBarFrame"> </frameset> </frameset> <noframes> ------------- また、現在フレームは推奨されないのも知っているので、 オススメの組み方がありましたら教えていただけませんでしょうか。 HTML等に関してまったくの初心者ですので、判り易く教えていただけたら大変有り難く思います。どうぞよろしくお願いします。

    • ベストアンサー
    • HTML
  • フレームの大きさを変更する 等

    index.htmlにフレームが定義してあります。 右・中央・左と言う感じで3つに区切っています。 <FRAMESET COLS="130,*,130" border="0"> <FRAME name="left" src="left.html" scrolling="no" frameborder="0" noresize> <FRAME name="main" src="main.html" scrolling="auto" frameborder="0" noresize> <FRAME name="right" src="right.html" scrolling="no" rameborder="0" noresize> <NOFRAMES> <BODY> <P>このページはフレームを使用しています<br>フレーム対応ブラウザーで閲覧してください。</P> </BODY> </NOFRAMES> </FRAMESET> これを、例えば中央のページのリンクをクリックすると、 フレームのサイズを変更することは可能なのでしょうか。 例 最初:<FRAMESET COLS="130,*,130" border="0"> ↓ サイズ変更リンクをクリック ↓ 変更後:<FRAMESET COLS="200,*,0" border="0"> このような感じです。 すみませんが、ご存知の方がいらっしゃいましたら、 ご教授をお願いします。 もしもよろしければ、簡単なサンプルコードもつけていただければ嬉しいです

  • フレームのターゲットについて

    ホームページ作成のHTMLについて教えてください。 三つのフレーム構成でページを作成し、各フレーム名を付けました。 コンテンツをフレーム名「mainFrame」に表示させたく、ターゲットで指定してもなぜか別窓が開いて表示されます。 試しに「_blank」「_top」などを試したら、これは正常に動きました。 原因がお解かりになるかた、宜しくお願いします。 記述しているHTMLはこちらです。 <frame src="main.html" frameborder="no" scrolling="NO" noresize id="mainFrame" /> <a href="***.htm" target="mainFrame">リンク</a> 宜しくお願いします。

  • フレームを使ったページ

    <FRAMESET ROWS="105,*" BORDER="0" FRAMEBORDER="0" FRAMESPACING="0" NOBORDER> <FRAME SRC="menu.html" name="menu" scrolling="no" noresize marginwidth="0" marginheight="0"> <FRAME src="main.html" name="main" scrolling="no" marginwidth="0" marginheight="0"> </FRAMESET><noframes></noframes> 上記フレームを使ったページを更新ボタンで更新すると横にスクロールバーが表示されます。 スクロールバーがでるのは上のページ(menu.html)で下ページ(main.html)にはでません。 win(Netscape,IE)で確認するとでないのですがMac(IE)だとスクロールバーがでてしまいます。 どうすれば解消できるでしょうか。 教えて下さい。 よろしくお願いいたします。

    • ベストアンサー
    • HTML
  • フレームで表示すると

    自分でフレームを組んだのですが、 IEだと大丈夫だったのですが、 NN4.7で崩れてしまいました。 フレームの間に白い線が入ってしまいます。 原因がわからず、ここに質問しております。 一つの画像を縦3つに分け、真ん中は横3つに分け、 合計5マド構成のフレームにしたいと思っています。 インラインフレームのような感じです。 インラインフレームだとNNでは表示されないので、 このような形にしようと思いました。 下記のようなソースでは何か問題があるのでしょうか。 教えてください、宜しくお願いします。 <frameset rows="*,*,*" frameborder="0" framespacing="0" border="0"> <frame src="top.htm" marginwidth="0" marginheight="0" scrolling="no" noresize> <frameset cols="*,*,*" frameborder="0" framespacing="0" border="0"> <frame src="midddle_left.htm" marginwidth="0" marginheight="0" scrolling="no" noresize> <frame src="midddle_midddle.htm" marginwidth="0" marginheight="0" scrolling="yes" noresize> <frame src="midddle_right.htm" marginwidth="0" marginheight="0" scrolling="no" noresize> </frameset> <frame src="bottom.htm" marginwidth="0" marginheight="0" scrolling="no" noresize> </frameset>

  • フレームページのソース

    こんにちは。 フレームページのソースについて質問させてください。 <FRAMESET COLS="20%,*" BORDER=0> <FRAME NAME="menu" SRC="menu.html" scrolling="auto" NORESIZE> <FRAME NAME="main" SRC="main.html" scrolling="auto" NORESIZE> </FRAMESET> これを どこに入れるかですが、私が知っているソースの常識は、 1、</HEAD>のすぐ後には必ず<BODY> 2、</HTML> のすぐ前は必ず</BODY> です。これを守ってソースを書き込んでみると、 <HTML> <HEAD> <FRAMESET COLS="20%,*" BORDER=0> <FRAME NAME="menu" SRC="menu.html" scrolling="auto" NORESIZE> <FRAME NAME="main" SRC="main.html" scrolling="auto" NORESIZE> </FRAMESET> <TITLE>タイトル</TITLE> </HEAD> <BODY> <NOFRAMES> <P>サイトの説明</P> </NOFRAMES> </BODY> </HTML> このようになると思うのですが、 <HEAD>と</HEAD>に入れ込んでいいのでしょうか。 </HEAD>の下に持ってこようとすると 1、2、の常識に当てはまらなくなったりするのです。 他のサイトさんのソースを見てみますと 皆さん</HEAD>下に入れていらっしゃるようです。 トップページに使用しているのでとても不安です。 どなたか、自信のある方、教えていただけないでしょうか。

    • ベストアンサー
    • HTML
  • フレームページの隙間

    フレームページを作ったのですが、フレームの間の隙間をなくしたのですがどのようになくすのか解りません。どうか教えて頂けないでしょうか。お願します。 実際のソースコート <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META name="GENERATOR" content="IBM HomePage Builder 2001 V5.0.0 for Windows"> <TITLE>もっくもっく</TITLE> </HEAD> <FRAMESET rows="155,*" frameborder="0" border="0" framespacing="0" framepadding="0"><!-- 上のフレーム --> <FRAME src="osawa1.html" name="1" scrolling="no" noresize topmargin="0" marginheight="0" leftmargin="0" marginwidth="0"> <FRAMESET cols="700,*" frameborder="0" border="0" framespacing="0" framepadding="0"><!-- 左のフレーム --> <FRAME src="osawa2.html" name="2" scrolling="auto" noresize mtopmargin="0" marginheight="0" leftmargin="0" marginwidth="0"> <!-- 右のフレーム --> <FRAME src="osawa3.html" name="3" scrolling="no" noresize topmargin="0" marginheight="0" leftmargin="0" marginwidth="0"> </FRAMESET> <NOFRAMES> <BODY topmargin="0" marginheight="0" leftmargin="0" marginwidth="0">フレーム対応ブラウザでご覧ください。</BODY> </NOFRAMES> </FRAMESET> </HTML>

  • フレームと余白

    <html> <FRAMESET ROWS="100,*" FRAMESPACING="0"> <FRAME SRC="a.html" scrolling="no" frameborder="1" noresize> <FRAME SRC="b.html"> </FRAMESET> </html> a.htmlにscrolling="no"は必須です。 b.htmlにscrolling="no"は付けてはいけません。 a.htmlもb.htmlも内容は <html> <body style=margin:0> <table border=0 width=100%><tr><td>a</table> </body> </html> です。 b.htmlはwidth=100%になっていません。 見た目がwidth=100%になる方法を教えてください。

専門家に質問してみよう