- ベストアンサー
IFRAMEの中にフレーム
アイフレームを使ったページを作っています。 その中にフレームを使ったページを表示させたいのですが、うまく表示されません。 フレームページA(Aa+Ab)の内容は、AaのリンクをクリックでAbに表示されるというものです。 アイフレームにAは表示できるのですが、リンクをクリックするとAbのみの表示になってしまい Aaは表示されなくなってしまいます。 これを解決する方法はあるのでしょうか? それともこれは無理なんでしょうか? OSはWin98SE、IE5、ビルダー6使用。HTMLは大体わかります。 わかる方いらっしゃったら教えて下さい…;
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
前に書いたものindex.htmlを差し替えて見ましたが状況を再現できませんでした。 フレームを定義している a.html と分割してある左右のhtmlファイルも載せてみて下さい。 IFrameをテーブル内に入れるのは問題ありません。 載せてもらったソースでおかしいところは、直接関係ないと思われますが、 ところどころ属性との値と次の属性の名前との間にスペースorタブ記号or改行文字のいずれかがないことです。 ビルダーってこんなHTMLを作るんですか? http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ここでチェックすると-145点でした。
その他の回答 (3)
フレームネームの重複か、リンクのtarget指定が間違っているせいで問題が起きているような気がするのですが。 Aaのファイルのリンクのtarget指定が、きちんとAbのフレームの名前を指定しているかどうか(iframeの名前をtarget指定していませんか?)、あるいはAのHTMLで設定したAbのフレームの名前がiframeの名前と重複していないかどうかを、それぞれ確認してみる必要がある気がします。 見当違いでしたら、ごめんなさい。
お礼
まさにその通りでした…; Abとiframeの名前が同じでした。こんな初歩的なミスだとは。 難しく考えて見落としていました。 どうもありがとうございました!m(_ _)m
- ryota2
- ベストアンサー率43% (61/140)
インラインフレームの閉じタグ忘れてました。 ごめんなさい
補足
細かく書いて下さってありがとうございました! 全部実際に試して見ました。 その結果、indexに問題があることがわかりました。 (ryota2さんに書いて頂いたindexだときちんと表示できましたので。) 私の作ったページのソースを載せます。 テーブルの中にインラインフレームを入れたのが原因でしょうか…? もし何かわかりましたら教えて頂けるとありがたいです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META name="GENERATOR" content="IBM WebSphere Homepage Builder V6.0.0 for Windows"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>インデックスです</TITLE> </HEAD> <BODY> <TABLE width="100%" height="100%" cellpadding="0" cellspacing="0"> <TBODY> <TR> <TD HEIGHT="18"WIDTH="7"> <IMG src="sozai/mushroom_01g/01.gif" ALIGN="BOTTOM" BORDER="0" WIDTH="7" HEIGHT="18"></TD> <TD BACKGROUND="05.gif" HEIGHT="18"> <IMG SRC="m01.gif" WIDTH="11" HEIGHT="18" ALIGN="MIDDLE" BORDER="0"> <IMG src="logo1.gif" width="109" height="15" align="top" border="0"> <IMG SRC="m03.gif" WIDTH="11" HEIGHT="18" ALIGN="MIDDLE" BORDER="0"> <IMG src="m04.gif" width="11" height="18" border="0" align="middle"></TD> <TD HEIGHT="18"WIDTH="7"> <IMG SRC="02.gif" ALIGN="BOTTOM" BORDER="0" WIDTH="6" HEIGHT="18"></TD> </TR> <TR> <TD BACKGROUND="06.gif"WIDTH="7"></TD> <TD><IFRAME src="a.html" name="100" scrolling="no" frameborder="0"WIDTH="100%" HEIGHT="100%"> </IFRAME></TD> <TD BACKGROUND="07.gif"WIDTH="7"></TD> </TR> <TR> <TD HEIGHT="7"WIDTH="7"> <IMG SRC="03.gif" ALIGN="BOTTOM" BORDER="0" WIDTH="7" HEIGHT="7"></TD> <TD BACKGROUND="08.gif"HEIGHT="7"></TD> <TD HEIGHT="7"WIDTH="7"> <IMG SRC="04.gif" ALIGN="BOTTOM" BORDER="0" WIDTH="6" HEIGHT="7"></TD> </TR> </TBODY> </TABLE> </BODY> </HTML>
- ryota2
- ベストアンサー率43% (61/140)
僕が試したところ正常に動きます。 一応ソースを載せておきます。 文法汚くてごめんなさい。HPエディタの吐き出すのよりはマシだと思っています。 index.html <html> <head> <title>テスト</title> </head> <body> <iframe src="a.html" name=a> </body> </html> a.html <html> <frameset rows="50%,50%"> <frame src="aa.html" name=aa> <frame src="ab.html" name=ab> </frameset> </html> aa.html <html> <head> <title>テスト</title> </head> <body> <a href="c.html" target=ab>リンク</a> </body> </html> ab.html <html> <head> <title>テスト</title> </head> <body> フレーム name="ab" </body> </html> c.html <html> <head> <title>テスト</title> </head> <body> 正常? </body> </html>
お礼
再度の御回答ありがとうございます。 フレーム名の重複という、何とも初歩的なミスでした。 お手数かけてすみませんでした; >ビルダーってこんなHTMLを作るんですか? そうなんですよ。今回載せた物は殆どいじってませんので。 たまに自分で直したりはするんですが、支障がないのでほったらかしだったり(-_-; 例のサイトはたまに利用させてもらってますが -145点にはビックリしました!駄目ですね…。 どうもありがとうございました(^^