• ベストアンサー

IFRAMEの中にフレーム

アイフレームを使ったページを作っています。 その中にフレームを使ったページを表示させたいのですが、うまく表示されません。 フレームページA(Aa+Ab)の内容は、AaのリンクをクリックでAbに表示されるというものです。 アイフレームにAは表示できるのですが、リンクをクリックするとAbのみの表示になってしまい Aaは表示されなくなってしまいます。 これを解決する方法はあるのでしょうか? それともこれは無理なんでしょうか? OSはWin98SE、IE5、ビルダー6使用。HTMLは大体わかります。 わかる方いらっしゃったら教えて下さい…;

  • koro5
  • お礼率92% (175/189)
  • HTML
  • 回答数4
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • ryota2
  • ベストアンサー率43% (61/140)
回答No.4

前に書いたものindex.htmlを差し替えて見ましたが状況を再現できませんでした。 フレームを定義している a.html と分割してある左右のhtmlファイルも載せてみて下さい。 IFrameをテーブル内に入れるのは問題ありません。 載せてもらったソースでおかしいところは、直接関係ないと思われますが、 ところどころ属性との値と次の属性の名前との間にスペースorタブ記号or改行文字のいずれかがないことです。 ビルダーってこんなHTMLを作るんですか? http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ここでチェックすると-145点でした。

参考URL:
http://openlab.ring.gr.jp/k16/htmllint/htmllint.html
koro5
質問者

お礼

再度の御回答ありがとうございます。 フレーム名の重複という、何とも初歩的なミスでした。 お手数かけてすみませんでした; >ビルダーってこんなHTMLを作るんですか? そうなんですよ。今回載せた物は殆どいじってませんので。 たまに自分で直したりはするんですが、支障がないのでほったらかしだったり(-_-; 例のサイトはたまに利用させてもらってますが -145点にはビックリしました!駄目ですね…。 どうもありがとうございました(^^

その他の回答 (3)

noname#199778
noname#199778
回答No.3

フレームネームの重複か、リンクのtarget指定が間違っているせいで問題が起きているような気がするのですが。 Aaのファイルのリンクのtarget指定が、きちんとAbのフレームの名前を指定しているかどうか(iframeの名前をtarget指定していませんか?)、あるいはAのHTMLで設定したAbのフレームの名前がiframeの名前と重複していないかどうかを、それぞれ確認してみる必要がある気がします。 見当違いでしたら、ごめんなさい。

koro5
質問者

お礼

まさにその通りでした…; Abとiframeの名前が同じでした。こんな初歩的なミスだとは。 難しく考えて見落としていました。 どうもありがとうございました!m(_ _)m

  • ryota2
  • ベストアンサー率43% (61/140)
回答No.2

インラインフレームの閉じタグ忘れてました。 ごめんなさい

koro5
質問者

補足

細かく書いて下さってありがとうございました! 全部実際に試して見ました。 その結果、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)
回答No.1

僕が試したところ正常に動きます。 一応ソースを載せておきます。 文法汚くてごめんなさい。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>

関連するQ&A

  • フレームの中にFLASHを。そしたら・・

    こんにちわ。今自作ページを頑張って作っています。 かっこよくしたいと思ったので、フレームで区切りをつけて、更にFLASHも使用しました。 なんですが、ここからがわかりません。フレームのしきり方は、上下1:3で、上の部分にFLASHを入れました。そのFLASHには、クリックしたら飛ぶリンクが5つほど貼ってあるのですが、私はこのリンクを下の部分に表示したいのですが、リンクをクリックすると同じ上の部分の出てしまって、フレームの役割を果たしていません。 どうすれば、上でクリックしたリンクを下で表示させられるのでしょうか? ちなみに、使用ソフトはHPビルダーです。

    • ベストアンサー
    • CSS
  • フレームページ

    OSはXPで、ブラウザはIE6.0を使用としているのですが、 フレームページのサイトを快適に閲覧できないのです。 たとえば縦に2つに分割してあるページで左のページに a.htmlとb.htmlのリンクが貼られており、 a.htmlをリンクしてある文字をクリックすると 右のページにa.htmlが表示されるとします。 そして右のページに表示されたa.htmlを閲覧して (あるリンクをクリックするとかスクロールなどして)、 また左のページにリンクが貼ってあるb.htmlを見ようとして、 クリックしても選択はされるのですが (文字の周りにドットの点線がつく状況)、 右ページにも左ページに表示されないのです。 つまりフレームページで、1回目に左ページで リンクボタンを押すと右ページに表示はされるのですが、 2回目以降から左ページに貼ってあるリンクを押しても 反応しないのです。 ある特定のサイトのみではなく、フレームページを使用している サイトを閲覧する時はほぼこの現象が発生します。 IE7.0以降をインストールしたら直るのですが、 強制終了しやすいので結局6.0バージョンのままなので、 IEのバージョンアップ以外の方法で何かいい方法あれば 教えていただきたいです。 説明が難しくてわかりにくいとは思いますが わかる方いらっしゃれば、どうか回答よろしくお願いします。

  • フレームで困ってます。。助けてください。

    TOPページを(30%と70%の)フレームで 分割し、上の(30%)の方にいろいろなコンテンツを置き、そのコンテンツをクリックすると画面下のフレームに(リンク先が?)表示されるようにしたいのです。 それでコンテンツを5つほど並べてみたのですが(上のフレームに)、アップロードして自分のサイトを見に行くと、上のフレームが真っ白で、右側にスクロールバーが現れて、スクロールしなければコンテンツが 見れないようになってしまっています。 本当は、トップを開いたときに、右のスクロールバーが出ないようにして、コンテンツがちゃんと(スクロールしないでも)表示されるようにしたいんです。 今は、ホームページビルダー8とあわせて、HTMLで編集をしていますが、HTMLのほうは初心者なので、なるべくわかりやすくご教授願います。

    • ベストアンサー
    • HTML
  • ホームページ フレームあり画面からなし画面へ

    ホームページの作成方で教えてください。 フレームで分割したページからフレームのないページへリンクを張りたいと思っています。 フレームで分割したページに「リンクを挿入」して、クリックしてみると、分割された部分のみしか、次のページが表示されません。 どのようにしたら、分割されずに、全部が次のページになるのでしょうか? ホームページ作成ソフトはIBMホームページビルダーV7を使っています。 HTMLでお教えいただいても結構です。 よろしくお願いします。

  • フレーム

    HPビルダーで2分割したフレームのページがあります。 左をクリックしたら右のページだけが変わるようにリンクを張るにはどのようにすればいいのでしょうか? どなたかわかりやすく教えてください。

  • ワンクリックで2つのフレームページを更新する方法

    お世話になります。 ホームページビルダー11でホームページを作成しております。 (ビルダー、HTML初心者です。) フレームページ(4分割)して、ボタンワンクリック→2つのフレーム ページを同時に表示更新したいのですが、右クリックして[リンクの挿 入]でターゲット指定をする場合、ターゲットが1つしか指定できない ようです。 どのようにしたら、タイトルのようなことができますでしょうか? (もしくは、できないのでしょうか?) よろしくお願いいします。

  • HP フレームページを開き、更にページを開きたい

    左右に分割されているフレームがあります。 indexページから <A href="illust.html" target="top">フレーム</a> とリンクさせており、フレームページに飛びます。 左フレームに「A」、「B」、「C」、「D」と…リンクが張ってあり、 「B」をクリックすると、右フレームに「B」ページが表示されます。 <A href="b.html" target="right" >B</a> indexページから、フレームにリンクさせたら、フレームページが開かれますが、 さらに「B」ページを開いた状態にすることは可能でしょうか? 今の状態だと、フレームページが開かれるだけで、手動で左フレームから「B」をクリックするのが手間なのですが…。 ビルダー等のソフトは使用しておらず、メモ帳でタグを書いています。

    • ベストアンサー
    • HTML
  • frameのボーダーを0にするとiframeまで・・・

    HPを1つ持っています。 iframeを使ったHPで、漢字で表すと、 回←こんな感じのアイフレーム設定になってます。(^^;) border=1 です。 で、この度、内側に表示される内容のレイアウトを変えようと思いまして、 内側に表示される内容にもフレームを使ってみました。(普通の右左に分けるフレームです) で、内側の内容のフレーム設定をborder=0にしたのですが、 そうするとiframeのborderまで消えてしまうのです。 内側のフレームは消して、iframeのボーダーは残すなんて事で来ますでしょうか? 質問の説明が下手ですいません。 参考になるか分かりませんが、以下が左右に分けるフレームのページのソースです。 <html> <head> <title> page </title> <meta name="robots" content="noindex,nofollow"> <META NAME="ROBOTS" CONTENT="NONE"> <style> a:hover {color:red} </style> </head> <frameset cols="220,*" frameborder="0" framespacing="0" border="0"> <frame src="a.html" name="Navigation" scrolling="no"> <frame src="b.html" name="Data"> </frameset> </html>

    • ベストアンサー
    • HTML
  • 複数フレームの一括リンク(インラインフレーム)

    頁内にインラインフレームを二つ配置し、一方はメニュー、一方は本文という形式にしようと思っています。インラインフレームのある頁の画像にリンクを貼って、それをクリックするとメニューフレームにメニュー頁を、メインフレームに本文頁を一度に表示するようにしたいのですが、ウェブ上で見つけたそれらしいスクリプトは上手く動きませんでした。自分の持っているJAVAScriptの本を見ると、アイフレームを使っているからリンク先の指定が上手くいっていないように思えます。アイフレーム使用でこのようなリンクを指定するのは無理なのでしょうか…?? 過去の質問も捜してみましたが分かりませんでした。回答よろしくお願いいたします。

  • フレームの中のフレームの中にリンク?

    (1)フレームがあります。  フレームのファイル「a001」 フレームに組込むファイル名上「a002」target="1" フレームに組込むファイル名下「a003」target="2"  更にフレーム「a003」がフレームでできており、上下にフレーム化してあります。  上記[a0031] target="3" 下記[a0032] target="4" 上記を踏まえてファイル「a001」からリンクを張り、a0032を表示させる方法がHTMLで可能でしょうか? 試した内容としては <A href="a003" target="2,4">test</A> とやってみたのですが、できませんでした。 どうか心当たりのある方は教えていただけないでしょうか?お願いします。

専門家に質問してみよう