• ベストアンサー

フレームのフレームの制御

leaz024の回答

  • ベストアンサー
  • leaz024
  • ベストアンサー率75% (398/526)
回答No.2

全体の構造は  frame.htm  ┣left : hidari.htm  ┗right : frame2.htm   ┣upper : ue.htm   ┗bottom : shita.htm という感じでしょうか。 この時、hidari.htm から shita.htm を参照するには、  parent.right.bottom    (parent の部分は、top でも可) となりますので、shita.htm を aaa.htm に変えるには、  parent.right.bottom.location.href='aaa.html'; のようにします。 ちなみに画面を3分割するなら、frame.htm を  <FRAMESET cols="30%,*">   <FRAME name="left" src="left.htm">   <FRAMESET rows="40%,*">    <FRAME name="upper" src="ue.htm">    <FRAME name="bottom" src="shita.htm">   </FRAMESET>  </FRAMESET> とした方が、表示までの速度も若干速くなりますよ。 この場合、left.htm から shita.htm は  parent.bottom.location.href='aaa.html'; となります。 ご参考までに。

lovelypooh
質問者

お礼

ズバリできました!! とてもわかりやすい解説付きで助かりました。 しかも表示速度まで考えていただくとは・・・。ありがたい限りです。 今回frame.htmをまず表示して処理を行った後、rightにframe2.htmを表示・・・ といったやり方をしているので、次回に使わせていただきたいと思います。 ホント丁寧な解説、ありがとうございました!!(ペコリ)

関連するQ&A

  • 複数フレームの同時処理

    いつもお世話になっています。 frame1.htmで画面を左(name=left)と右(name=right)に分割し、 まずrightにa.aspがあり、ここで入力された値をleftに表示されたb.aspに渡し、 同時にrightにframe2.htm(上(name=upper)と下(name=bottom)に分割)を表示させます。 このとき、b.aspの処理が終わった後、その結果を frame2.htmのbottomにc.aspとして表示させたいのです。 例えばa.aspでAを入力してエンターを押すと次の瞬間にはb.aspとc.aspにAの文字が表示されているという感じです。 こういうことは可能なのでしょうか? わかりにくい書き方ですみませんが、どなたかわかる方、教えてください!

  • HPのフレーム

    境界線の色を変えて、細くしたいのですが、 色は変えられたのですが、細くすることができません。 今フレームを呼び出す?ために 『<FRAMESET rows="100,*"> <FRAME src="frame-ue.htm" name="ue">        <FRAMESET cols="100,*"> <FRAME src="frame-hidari.htm" name="hidari"> <FRAME src="frame-main.htm" name="main"> </FRAMESET> <NOFRAMES> <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P>』 としていて、色を変えるのに、 『<FRAMESET rows="15%,85%" BORDERCOLOR="RED"> <FRAME SRC="frame-ue.htm" NAME="ue"> <FRAMESET COLS="15%,85%" BORDERCOLOR="RED"> <FRAME SRC="frame-hidari.htm" NAME="hidari"> <FRAME SRC="frame-main.htm" NAME="main">』 こうしています。 どうすれば細くできますか? もう1つこうゆうタグを使えばいいのでしょうか? わかる方、よろしえれば教えてください。

  • 分割したフレームからホームへ移動できるようにしたい。

    分割したフレームからホームへ移動できるようにしたい。 HTMLで、 <frameset rows="300,*"> <frame src="ue.html" name="ue"> <frame src="shita.html" name="shita"> </frameset> と、ウィンドウを上下のフレームに分割し、 ue.html の中に、ホーム(index.html)へのリンクを付けているのですが、 ue.html 中からホーム(index.html)へ移動すると、 ウィンドウの上部のみにホームが表示され、ウィンドウの下部は、shita.html が表示されたままです。 どうすれば、上下に分割したフレームを両方消して、ホーム(index.html)へ移動するリンクを付けることが出来るでしょうか?

    • ベストアンサー
    • HTML
  • フレーム分割領域のサイズを変更する

    HTMLのframesetタグでフレームを分割してHTMLを 表示させることができます。例えば... <frameset rows="40%,60%"> <frame name="frm_01" target="f_left" src="left.htm"> <frame name="frm_02" target="f_right" src="right.htm"> </frameset> と記述すると、ウィンドウ左にleft.htmを40%、ウィンドウ右にright.htmを 50%割合で表示します。これらを何かHTML上のボタンをクリックされる などのイベントが生じた場合に、ウィンドウ分割してある比率を(例:left.htm40%→60%)の ように変更したいのですが、そのようなことはできないものでしょうか?

  • 2分割フレームの左側だけ表示できません!

    WIN98SE,IE6.0,フロントページエクスプレスでHP作成中ですが、左右2分割フレームの左側だけ、「ページを表示できません。」のメッセージが出ます。 表示したいファイル名はそれぞれ、 左:CONTENTS.HTM 右:TOP.HTM フレームセットファイルが、INDEX.HTM です。 その記述は下記の通りです。 <HTML> <HEAD> <TITLE>フレームセット</TITLE> </HEAD> <FRAMESET COLS="25%,*"FRAMEBORDER="no"> <FRAME SRC="contents.htm"NAME="left"> <FRAME SRC="top.htm"NAME="right"> </FRAMESET> </HTML> 本の内容を参考にしたのですが、非表示の原因が わかりません。ヒントでもかまいません、教えて下さい!

    • ベストアンサー
    • HTML
  • フラッシュのボタンとhtmlのフレーム

    ホームページをフレームで左と右、二つにわけました。 LeftとRightでこんなかんじです・・↓。 frameset framespacing=0 frameborder=0 border=0 cols="100,1*"> <frame name="Left" src="○○.htm" noresize scrolling="auto"> <frame name="Right" src="△△.htm" scrolling="auto"> Leftのhtmにフラッシュを貼り付けました。 貼り付けたフラッシュの中にボタンがあるのですが、そのボタンを押すとRightのほうに、任意のURLを表示させたいのです。 ボタンアクションの、URLの欄(?のとこ)をどうかけばいいかわかりません。お願いします。 on(release){ this,getURL("?"); }

    • ベストアンサー
    • Flash
  • フレームについて

    HPを2つのフレームを使って作成したのですが、 1つはメニューの左フレームで、もうひとつはそれを表示する右フレームです。 <FRAMESET COLS="1*,4*"> <FRAME SRC="left.html" NAME="left"> <FRAME SRC="right.html" NAME="raight"> </FRAMESET> 例えば、メニューの左フレームの中から日記という項目をクリックすると、 右フレームに日記の内容が表示するようになっております。 そこで、右フレームに日記が表示されているときに更新をすると、 右フレームがトップに戻ってしまいます。 全部そうなってしまいます。 更新をしても、その時表示していたものを、 表示させておくにはどうすればいいのでしょうか? 宜しくお願いします。

  • ビルダー6.5でフレームページの作り方がわかりません

    左右2分割のフレームページを作っています。 左ページはhidari.htmlとし、右はmigi.html、両方をまとめたページ(フレームページ)をzenbu.htmlとして3つのページを作っています。 1.先ず、左ページを作り、次に右ページを作り、そして白紙のページを新規で開いて、それをフレーム分割しました。 2.分割された左がわで右クリックをして、「フレーム内に開く」を選択し、hidari.htmlを入れました。同様に、分割された右がわもmigi.htmlを入れました。 3.これで、フレームページとして出来てると思い、この左右が合体したページをzenbu.htmlとしたいので、 「ファイル」→「フレームを保存」→「フレームを名前をつけて保存」で、名前をzenbu.htmlとして保存しました。 4.3つのファイルが転送されていないといけないようなので、hidari.htmlとmigi.htmlとzenbu.htmlをそれぞれ開き、付属のツールで転送しました 5.しかし、自分のurl+ファイル名を打ち込んでも、migi.htmlとhidari.htmlは表示されるのですが、肝心のフレームページzenbu.htmlはありませんでした。 上記を何回も繰り返し行ってみてふと気付いたのですが、zenbu.htmlのページを転送するときに、分割された左側でカーソルが点滅しているんです。 その状態で転送すれば、hidari.htmlのみが転送されてるのでは?と思いました。 しかし、カーソル点滅しない状態で転送というのも出来ないですし・・・ どうしたものかさっぱりわからなくなってしまいました。 私の手順や考えに、どこか誤りがあるのだと思います。 複雑ですが、お分かりになる方がいらっしゃいましたら、指摘してやってください!

  • フレームなしPからフレームありP内へのアンカーへ

    フレームなしページからフレームありページ内の指定アンカー(ラベル)へ飛ばしたいと思い、過去ログq135419を参考に JavaScript を埋め込もうとしていますが、うまくいきません。 フレームありのページは3分割してあり、上をaaa.htm、左をbbb.htm、右をccc.htmと作ってあります。 -例- <html> <head><title></title> </head> <FRAMESET rows="82,*" cols="*" frameborder="NO" border="0" framespacing="0"> <FRAME src="framef/aaa.htm" name="ue" frameborder="no" scrolling="NO" noresize id="header"> <FRAMESET rows="*" cols="228,*" framespacing="0" frameborder="NO" border="0"> <FRAME src="framef/bbb.htm" name="hidari" frameborder="no" scrolling="auto" noresize id="navi"> <FRAME src="ccc.htm" name="main" frameborder="no" scrolling="auto" id="main"> </FRAMESET> <NOFRAMES> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P></NOFRAMES> </FRAMESET> </html> この内、ccc.htmにアンカー(ラベル)を指定し、フレームなしページからフレーム内のそのアンカー(ラベル)まで飛ばしたいと思っていますが、過去ログで提示してあるJavaScriptを当方のページで作ってあるものに置き換えてもうまく表示されません。(何も表示されません。) そもそも提示のJavaScriptでは3分割に対応してないのでしょうか。 元のページは業者で作成してもらったもので、フレームのページはcssとか使用され凝ったものになっています。それも何か関係あるのでしょうか。 よろしくお願いいたします。

  • フレームなしのページからフレームありのページ(ラベルが貼ってある部分)に飛びたい

    自作index.html(フレームなし)から、自作してないフレームありのページへ位置を指定して飛びたいのですが、方法はありますか?(通常のリンクではなく、ページ内リンクでページが表示される位置を指定したい) 自作↓ index.html(フレーム無し) フレームありのサイト↓(自作ではない) flame.html(左右分割) 左left.html、右right.html(Name="MAIN") リンクしたいページ(上記サイトの1ページ) right2.html#right2 単純にリンクを貼る場合は、right2.html#right2でいいと思いますが、そうするとright2.htmlしか表示されません。 そうではなく、left.htmlとright2.html#right2を表示させたいのです。 どなかご回答のほど、宜しくお願いします。