• ベストアンサー

Netscape6.02におけるiframeの%表示について

インラインフレームを使って、下の例のように%指定で表示させたいのですが、 Netscape7では問題なく表示されるのですが、Netscape6.02では表示されません。 (表示されないというか、0%と解釈されるようです。) サイズを%ではなくピクセルで指定すれば問題ないのですが、画面サイズにかかわらずフルサイズで表示されるようにしたいため、パーセンテージで指定したいのです。 何かいい方法をご存じの方がいたら、教えて下さい。 無理な場合は、Netscapeのバージョン7未満では別のページにジャンプさせるという方法でもかまいません。 よろしくお願いします。 (例) <html> <head></head> <body> <table width="100%" height="100%"> <tr> <td width="100%" height="100%"> <iframe src="http://www.okweb.ne.jp/" width="100%" height="100%"></iframe> </td> </tr> </table> </body> </html>

  • HTML
  • 回答数4
  • ありがとう数3

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

  • ベストアンサー
  • pingu98
  • ベストアンサー率62% (17/27)
回答No.1

まず、基本的な事なのですが、最終的にどういうことがしたいのでしょうか? <body> <iframe src="http://www.okweb.ne.jp/" width="100%" height="100%"></iframe> </body> とした場合に、Pidetsuguさんのページではどの点が問題となるのでしょうか。 tableを入れる目的が分からないので、こうしたらいいというのは何とも言えません。 その上で、下記ソースについてなのですが、、 <html> <head></head> <body> <table width="100%" height="100%"> <tr> <td width="100%" height="100%"> <iframe src="http://www.okweb.ne.jp/" width="100%" height="100%"></iframe> </td> </tr> </table> </body> </html> まず、実際のHTMLで<!DOCTYPE~>等でHTML4.01等の文書宣言をしていないでしょうか? 宣言がしてあるとW3Cの定義とtable要素のheight属性の存在が矛盾してしまいますので、ブラウザの動作が変わる事があるかも知れません。 更に、table要素のheight属性はブラウザ毎に勝手に定義されている属性なので、"100%"が何に対しての割合なのか、これはブラウザ毎に違って当然です。 次に、td要素のweidth及びheight属性ですが、IE6では何故か無視されているようです。N7では親要素に対する%で機能しているようです。また、何故か縦方向のみセンタリングされて表示されます。 iframe要素のweidth及びheight属性は親要素に対する%として、IE6、N7において機能しているようです。 またiframeの変わりにobject要素を使っう方法もあり、これもブラウザによっては何か動作に差があるかも知れないのであわせて試されるとよいと思います。 以上、、少しでも参考になりますでしょうか。

Pidetsugu
質問者

お礼

ご回答ありがとうございます。大変参考になりました。 説明不足ですいませんでした。 tableを使ったのは、実際には例えば下の例ように、左側のセルにはメニュー、右側にはコンテンツというように分けたかったからです。 <table width="100%" height="100%"> <tr> <td width="200px" height="100%"> メニュー </td> <td width="99%" height="100%"> <iframe src="http://www.okweb.ne.jp/" width="100%" height="100%"></iframe> </td> </tr> </table> フレームを使えば容易にできるのでしょうが、フレームは非推奨とのことから、インラインフレームを使用しました。 もっと良い方法がありましたら、アドバイスをお願いします。 また、ご指摘の<!DOCTYPE~>につきましては、HTML4.01 Transitionalとなっていました。 そのため、別のバージョンに変えてみたところ、少しは表示されるようになりましたが、やはり縦については100%表示とはなりませんでした。 アドバイスをもとにいろいろ試してみたいと思います。 どうもありがとうございました。

その他の回答 (3)

  • s_hukami
  • ベストアンサー率66% (98/148)
回答No.4

すみません。 先ほどの訂正です。見苦しくてすみません。 「<meta http-equiv="Refresh"~」だとフレーム対応ブラウザでも移動してしまうので noframes>~</noframes>内に ==================================== <script type="text/javascript"> <!-- location.href = "contents.html"; // --></script> ======================== です。 IE3,NN2以上でサポートしているので、 念のためその下にリンクを記述しておけば良いと思います。 失礼いたしました。

Pidetsugu
質問者

お礼

詳しい説明ありがとうございました。 この方法を利用させていただきます。 またよろしくお願いします。

  • s_hukami
  • ベストアンサー率66% (98/148)
回答No.3

2回目の投稿です。 サイトURLが例えば「http://www.homepage.ne.jp/~hoge/」ならば <head>~</head>内に ================================= <meta http-equiv="Refresh" content="10;URL=http://www.homepage.ne.jp/~hoge/contents.html"> ================================= という記述をして <noframes>~</noframes>内に ================================= <p>フレーム未対応ブラウザの方は<a href="contents.html">こちらをクリック</a>してください。</p> ================================= と記述してみてはどうでしょうか。 「<meta http-equiv="Refresh"~」はサイト移転などの際にも役立ちます。 上記の記述だと10秒後に自動でジャンプします。 参考URLは「とほほのWWW入門」の<meta>に関するページです。

参考URL:
http://tohoho.wakusei.ne.jp/html/meta.htm
  • s_hukami
  • ベストアンサー率66% (98/148)
回答No.2

<head>から</head>の間に ================================= <style type="text/css"> body{ margin:0px;padding:0px; } table,iframe,{ margin:0px;padding:0px; } </style> =================================== と記述して「<body>から</body>」の中に =================================== <table boder="0" cellspacing="0" cellpadding="0" width="100%" height="100%"> <tr> <td width="200px" height="100%"> メニュー </td> <td height="100%"> <iframe src="http://www.okweb.ne.jp/" width="100%" height="100%"></iframe> </td> </tr> </table> ======================================= と記述します。 しかしこの場合 ================================================== <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <html> <head> <title>フレームテスト</title> </head> <frameset cols="200,*" framespacing="0" border="0" frameborder="0"> <frame src="menu.html" name="mainmenu"> <frame src="top.html" name="contents"> <noframes> <body> <p>申し訳ありませんが、フレーム未対応ブラウザでは閲覧できません。</p> </body> </noframes> </frameset> </html> ================================================== の方がすっきりするのではないでしょうか。 ちなみに、私は面倒ですが、<noframes>~</noframes>内に、別途コンテンツを記述していました。 しかし、なるべくならフレームじゃない方が望ましいという意見をサイト閲覧者からいただいたので、現在サイト移転に伴い、全ページノンフレームに書き換え作業中ですが。

Pidetsugu
質問者

お礼

ご回答ありがとうございます。 上記方法を試してみましたが、やはりNetscape6では表示されませんでした。 今回は、ご指摘のとおり、フレームを使用したいとお思います。 <noframes>~</noframes>内に別途コンテンツを記述するのも大変なので、 できればJavascript等で自動的にフレーム内のコンテンツに ジャンプするようにしたいと思っているのですが、 フレームを使えないようなブラウザでは、このようなことも無理でしょうか…?

関連するQ&A

  • Iframeとして呼び出すページを120px以下を表示したい

    Iframeを使いたいのですが、A.htmlの高さ120pixから下をIframeで指定したいときはどうしたらいいでしょうか。 <html> <head> <title>testtitle> </head> <body> <div width:100%; height:120px;> <table> <tr> <td><iframe src="A.htm" width="100%" height="100%" frameborder="0" scrolling="no" overflow:no></iframe><td> </tr> </table> </div> </body> </html> 呼び出すIframeの中身のページについて 高さを120pix以下を表示したいのですが。 よろしくおねがします。

  • なぜかうまく表示されないNetscape

    まずは以下のHTMLをご覧ください。 ---------------------------------------------------------------- <html> <head></head> <body> <table border="1" width="100%"> <tr> <td width="28%"> </td> <td width="24%"> </td> <td width="24%"> </td> <td width="24%"> </td> </tr> </table> <table border="1" width="100%"> <tr> <td width="28%"> </td> <td width="12%"> </td> <td width="12%"> </td> <td width="12%"> </td> <td width="12%"> </td> <td width="12%"> </td> <td width="12%"> </td> </tr> </table> </body> </html> ---------------------------------------------------------------- これをブラウザで表示させますと上下に2つのテーブルが表示されます。 まずIEのほうで表示させますと、上下2つのテーブルの罫線が widthで指定してあるので、ほぼぴったり罫線の位置が合うのですが、 Netscapeのほうで表示させるのと、なぜか罫線の位置が大きく異なって表示されます。 これの原因は何でしょうか? また、Netscapeみたいに大きく罫線の位置がずれるような 方法はないものでしょうか?

  • Netscape7.1 での表示方法を教えてください。

    初めまして。 現在ホームページを作成中なのですが、以下のソースでページを表示しようとすると、 Netscape7.1だけ正しく表示されません。素人考えなのですがNetscapeではテーブル タグのheight="%"が無視されているように思えます。Netscapeで正しく表示される方 法をお教え下さると幸いです。よろしくお願い致します。 <html> <head> </head> <body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <div style="text-align:center"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" style="margin:auto;text-align:left"> <tr> <td height="6%" align="center" valign="center" bgcolor="#000000"></td> </tr> <tr> <td align="left" valign="top"> <iframe name="contents" src="a.html" width="100%" height="100%" style="border:solid 0pt;border-color:#000000;" scrolling="no" frameborder="0" allowtransparency="true"></iframe></td> </tr> <tr> <td height="6%" align="center" valign="center" bgcolor="#000000"></td> </tr> </table> </div> </body> </html>

    • ベストアンサー
    • HTML
  • インラインフレームの表示方法

    少し前からホームページを作成しようとしているのですが、 テーブル内にインラインフレームを入れたところ、safariでインラインフレームが表示されませんでした。 これはsafari自体の使用のせいなのでしょうか? それとも私のsafariの設定の問題なのでしょうか? ちなみにIEやOperaだと正常に表示されます HTMLを抜粋すると <HTML> <HEAD> <TITLE>テスト</TITLE> </HEAD> <BODY> <table border="1" style="width:100%;height:100%;" cellpadding="5" cellspacing="0"> <tr><td> <div style="top:0px;left:50px;" > <table align="right"width="100%" height="100%"><tr><td> <iframe src="home.html" name="main-window" frameborder="0"width="100%" height="100%" scrolling="out"><p>インラインフレームを使用しています。見るにはインラインフレームをサポートしているブラウザが必要です。</p></iframe> </td></tr></table></div> </td></tr> </table> </BODY> </HTML> となっています。 本来はページを上下3段に分け真ん中の段にインラインフレームを入れようとしています。 どうかお力添えをお願いします。

    • ベストアンサー
    • Mac
  • <iframe>内にHTMLをランダム表示するには?続きです。

    先日の<iframe>内にHTMLをランダム表示するには?の続きなのですが、 http://questionbox.msn.co.jp/qa2962976.htmlの疑問は 皆様のお力で解決しました。 誠にありがとうございました。 もう一つ教えて頂きたいことがあるのですが、 かなりの素人なので説明不足など分かりづらいところが多々あると思いますが、 何卒宜しくお願い致します。 同じhtmlに複数のiframeを配置し、 各iframeをランダムにしたいのです。 その際、各iframeは別々のフォルダーに収納されているhtmlを 表示するようにしたいです。 例えば、同じhtmlに iframe1、iframe2、iframe3があるとし、 01、02、03という3つのフォルダーの中に 01.html、02.html、03.htmlがそれぞれ収納されているとした場合、 iframe1は01のフォルダーの中のhtmlをランダムで表示し、 iframe2は02のフォルダーの中のhtmlをランダムで、 iframe3は03のフォルダーの中のhtmlをランダムで、 といったランダム表示にしたいです。 あまりの素人なので全く分かりませんので、 大変申し訳ありませんが、 多少いじってコピペするくらいまで完成されたソースを教えて頂けますでしょうか? 宜しくお願い致します。 ------------------------------------------------------------------------- 以下のソースは、 3つのiframeに同じフォルダー内のhtmlをランダムで表示させることができたソースです。 教えてもらいました。 こちらは参考までに載せました。_ <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> <script type="text/javascript"> <!-- function RndmSubFlame(){ rlURL= new Array(); rlURL[0]="01.html" rlURL[1]="02.html" rlURL[2]="03.html" n=rlURL.length; x1=Math.floor(Math.random()*n); x2=Math.floor(Math.random()*n); x3=Math.floor(Math.random()*n); s01.location.href = rlURL[x1]; s02.location.href = rlURL[x2]; s03.location.href = rlURL[x3]; } //--> </script> </head> <body onload="RndmSubFlame()"> <table border="1" width="84%" height="87"> <tr> <td width="33%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="s01" scrolling="no"></iframe></td> <td width="33%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="s02" scrolling="no"></iframe></td> <td width="34%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="s03" scrolling="no"></iframe></td> </tr> </table> </body> </html> ------------------------------------------------------------------------- 以下のhtmlソースに書き加えてもらえると大変助かります。 何卒、宜しくお願い致します。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head> <body> <table border="1" width="45%" height="448"> <tr> <td width="46%" height="210"><iframe src="01/01.html" frameborder="0" width="100%" height="190" name="01" scrolling="no"></iframe></td> <td width="54%" height="442" rowspan="2"><iframe src="03/01.html" frameborder="0" width="100%" height="190" name="03" scrolling="no"></iframe></td> </tr> <tr> <td width="46%" height="226"><iframe src="02/01.html" frameborder="0" width="100%" height="190" name="02" scrolling="no"></iframe></td> </tr> </table> </body> </html>

  • <iframe>内にHTMLをランダム表示するには?

    かなりの素人なので説明不足などで分かりづらいところが多々あると思いますが、 何卒宜しくお願い致します。 同じhtmlに複数のiframeがあるのですが、 その全てのiframeをランダムにしたいのですが、 あまりの素人なので全く分かりません。 申し訳ありませんが、 多少いじってコピペするくらいまでのソースを教えて頂けますでしょうか? 宜しくお願い致します。 iframe一つだけのランダムは以下のソースでできました。 <head> <script type="text/javascript"> <!-- function RndmSubFlame(){ rlURL= new Array(); rlURL[0]="01.html" rlURL[1]="02.html" rlURL[2]="03.html" n=rlURL.length; x=Math.floor(Math.random()*n); sub_flame.location.href = rlURL[x]; } //--> </script> </head> <body TopMargin=0 LeftMargin=0 RightMargin=0 BottomMargin=0 STYLE="overflow:auto;height:100%;" onLoad="RndmOpen()"> <script><!-- document.write("<iframe src=\""+riURL[x]+"\"></iframe>"); //--> </body> 以下のhtmlのようなページです。 できましたら、このソースに書き加え頂けますと 大変助かります。 宜しくお願い致します。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head> <body> <table border="1" width="84%" height="87"> <tr> <td width="33%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="01" scrolling="no"></iframe></td> <td width="33%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="02" scrolling="no"></iframe></td> <td width="34%" height="81"><iframe src="a01.html" frameborder="0" width="100%" height="190" name="03" scrolling="no"></iframe></td> </tr> </table> </body> </html>

  • 一つのテーブル内の情報を、iframeではなく、非同期通信で行うには?

    一つのテーブル内の情報を、iframeではなく、非同期通信で行うには? 現在、トップページ内の一つのコンテンツを、 iframeで一定時間毎に自動リロードさせる形で演出しているのですが、 SEO的に良くないと聞き、それと同時に解決策として 「非同期通信」の存在を知りました。Ajaxを利用すれば、iframeを使わずに 今のような演出が可能らしいのですが、どのような形で記述すれば宜しいでしょうか? 例を書きます。 トップページ … index.php コンテンツの入ったページ … contents.php(テーブルレイアウトで作成) 現状は、index.phpに置かれたiframeの場所に、contents.phpを読み込んでいます。 iframeは5分毎に自動更新させていますが、これを非同期通信で5分毎に呼び出したいです。 付け焼刃の知識でイメージしている仕組みは、 まず、prototype.jsなどのライブラリをindex.php内で読み込ませ、 指定したtableやdivにcontents.phpを呼び出す仕組みなのかなと勝手に想像しています。 参考になる記述方法をどなたかご教授頂けませんでしょうか… 現状はこのような記述方法で対応しています。 index.php内 ----------------------- <body> <table width="300" height="300"> <tr> <td width="300" height="300"> <iframe src="contents.php" width="300" height="300"></iframe> </td> </tr> </table> </body> ----------------------- contents.php ----------------------- <body> <table width="300" height="300"> <tr> <td width="300" height="300"> ここはコンテンツページです </td> </tr> </table> </body> -----------------------

  • 画像のNetscapeでの表示

    Netscapeで下記のようにテーブルを組むと画像の表示がされません。 IEではうまく表示してくれるのですが・・・。 <table border='0' cellspacing='0' cellpadding='0' width='100%' height='100%' style='position:absolute;bottom:0px;left:0px;'> <tr> <td><img src="xxx.gif"></td> </tr> </table> Netscapeで使用できないタグなどがふくまれているのでしょうか? Netscapeのバージョンは、7.02です。

  • インラインフレーム内へのリンク

    質問させて頂きます。 インラインフレーム内へのリンクが上手くいかなくて困っています。 name="main" でインラインフレームに名前を付け、外部からはtarget属性でtarget="main"と指定してリンクをはっているのですが、どういうわけだか新しいウインドウが開いてしまいます。 ソースをのせておきますので、どこがいけないのか御指導頂けないでしょうか。お願い致します。(暫定的にYAHOO!にリンクさせています) 以下ソース↓ <html> <head> <title>インラインフレーム</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body bgcolor="#FFFFFF"> <table width="500" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td height="17"><a href="http://www.goo.ne.jp" target="main">YAHOO!</a></td> </tr> <tr> <td height="300"><iframe border="0" frameborder="0" marginheight="0" marginwidth="0" name="main" scrolling="yes" style="border:solid 1pt cc0000" src="http://www.yahoo.co.jp" width="500" height="300"></iframe></td> </tr> </table> </body> </html>

    • ベストアンサー
    • HTML
  • インラインフレームがうまく表示できない

    初心者のためうまく説明できないかもしれませんが、よろしくお願いします。 インラインフレームを使ったページを作りました。 Firefoxでは思った通りに表示できたのですが、Safariで見てみると設定したサイズになっておらず、縦横ともにスクロールバーが出ています。 色々試してみましたが解決できませんでした。 お力を貸してください。 以下抜粋ですが、 <td width="550"height="500" align="left" valign="top" nowrap="nowrap"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr> <td> <iframe src=" ""link1.html""link2.html""link3.html"width="550" height="500"name="link"frameborder="0"scrolling="auto"></iframe> </td> としてあります。

    • ベストアンサー
    • HTML