• 締切済み

フレームタグ

<noframes>の中に<body>が書いてあっても正しい書式ですか? <html> <head></head> <frameset rows="100"> <frame name="a" src="index.html"> </frameset> <noframes> <body> フレーム非対応になっています。 </body> </noframes> </html>

  • HTML
  • 回答数5
  • ありがとう数0

みんなの回答

回答No.5

あと,noframes要素はframeset要素直下にしか置けません。 <![ %HTML.Frameset; [ <!ENTITY % html.content "HEAD, FRAMESET"> ]]> <!ENTITY % html.content "HEAD, BODY"> <!ELEMENT HTML O O (%html.content;) -- document root element --> <!ATTLIST HTML %i18n; -- lang, dir -- %version; > <!ELEMENT FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- window subdivision--> <!ATTLIST FRAMESET %coreattrs; -- id, class, style, title -- rows %MultiLengths; #IMPLIED -- list of lengths, default: 100% (1 row) -- cols %MultiLengths; #IMPLIED -- list of lengths, default: 100% (1 col) -- onload %Script; #IMPLIED -- all the frames have been loaded -- onunload %Script; #IMPLIED -- all the frames have been removed -- > ]]> <!ENTITY % coreattrs "id ID #IMPLIED -- document-wide unique id -- class CDATA #IMPLIED -- space-separated list of classes -- style %StyleSheet; #IMPLIED -- associated style info -- title %Text; #IMPLIED -- advisory title --" > <!ELEMENT BODY O O (%flow;)* +(INS|DEL) -- document body --> <!ATTLIST BODY %attrs; -- %coreattrs, %i18n, %events -- onload %Script; #IMPLIED -- the document has been loaded -- onunload %Script; #IMPLIED -- the document has been removed -- background %URI; #IMPLIED -- texture tile for document background -- %bodycolors; -- bgcolor, text, link, vlink, alink -- > <!ENTITY % bodycolors " bgcolor %Color; #IMPLIED -- document background color -- text %Color; #IMPLIED -- document text color -- link %Color; #IMPLIED -- color of links -- vlink %Color; #IMPLIED -- color of visited links -- alink %Color; #IMPLIED -- color of selected links -- "> ですのでnoframes要素にlink属性はありません。 まぁbody要素の属性を利用するか,素直にCSSを利用するかだな。俺は後者が好きだけど。

回答No.4

http://www.w3.org/TR/html401/loose.dtd http://www.w3.org/TR/html401/frameset.dtd <!ENTITY % block "P | %heading; | %list; | %preformatted; | DL | DIV | CENTER | NOSCRIPT | NOFRAMES | BLOCKQUOTE | FORM | ISINDEX | HR | TABLE | FIELDSET | ADDRESS"> <![ %HTML.Frameset; [ <!ELEMENT FRAMESET - - ((FRAMESET|FRAME)+ & NOFRAMES?) -- window subdivision--> <!ATTLIST FRAMESET %coreattrs; -- id, class, style, title -- rows %MultiLengths; #IMPLIED -- list of lengths, default: 100% (1 row) -- cols %MultiLengths; #IMPLIED -- list of lengths, default: 100% (1 col) -- onload %Script; #IMPLIED -- all the frames have been loaded -- onunload %Script; #IMPLIED -- all the frames have been removed -- > ]]> <!ENTITY % HTML.Frameset "INCLUDE"> <!ENTITY % HTML4.dtd PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> %HTML4.dtd; Transitional DTDより <![ %HTML.Frameset; [ <!ENTITY % noframes.content "(BODY) -(NOFRAMES)"> ]]> <!ENTITY % noframes.content "(%flow;)*"> <!ELEMENT NOFRAMES - - %noframes.content; -- alternate content container for non frame-based rendering --> <!ATTLIST NOFRAMES %attrs; -- %coreattrs, %i18n, %events -- > だからHTML 4.01 Frameset DTDの時, noframes要素がその代わりをしているとかそういうことではなく noframes要素の子にBODY要素は確実に存在し, <!ELEMENT BODY O O (%flow;)* +(INS|DEL) -- document body --> BODY要素の開始タグおよび終了タグはHTML 4.01では省略できるので, 書かなくても解釈される・・・んだとおもっていたんだけど。 #HTML 4.01 Transitional DTDでも内容モデル%flow;であるnoframesが使えるとは初めて知った。 XHTML 1.0 FramesetのDTDでは省略可能ではない http://www.w3.org/TR/xhtml1/dtds.html#a_dtd_XHTML-1.0-Frameset

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.3

bodyがあるのが正しい書式です。 無くても適当にブラウザが補足してくれるので表示はされますが。 属性を指定したいのなら普通にbodyを書いてそこに指定します。

  • leap_day
  • ベストアンサー率60% (338/561)
回答No.2

こんにちは 書き方としては合っていると思いますよ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html lang="ja"> <title></title> <frameset rows="100,*"> <frame name="a" src="index.html"> <frame name="b" src="main.html"> <noframes> <body> フレーム未対応です </body> </noframes> </frameset> </html> だとは思いますけど・・・ ただ<frameset>自体で<body>の役割を果たしているので書かなくても問題はないようです http://www.tagindex.com/html_tag/frame/noframes.html http://w3g.jp/xhtml/dic/noframes

ceshkr
質問者

補足

ありがとうございました。 <body>の代りに<noframes link="#00ff00">はできるでしょうか? noframesが有効な有名なブラウザでの結果を知りたいです。

  • Seravy
  • ベストアンサー率47% (118/249)
回答No.1

基本構文に従うと、変ですね。 いや、表示はされますがw そもそも、frameがbodyの外にあるのが正しくないと思われます。

ceshkr
質問者

補足

そもそも勘違いなのではと思われます

関連するQ&A

  • 右側のフレームを上にするには?

    <html> <head> <title>フレーム</title> </head> <frameset rows="100,*"> <frame src="about.html"> <frameset cols="*,500"> <frame src="link.html"> <frame src="img/index.html"> </frameset> <noframes> <body> 未対応ブラウザ向け内容</body> </noframes> </frameset> </html> --------------------------------- コレでは右フレームが上フレームより下になっているんです。 どうすれば右が上(に重ねている)になりますか??

  • フレームのことなんですが

    説明しにくいので、もしわかりにくければ下記のソースを参考に ご回答いただけるとありがたいです(4つ有効なリンクが貼ってあります)。 四分割のフレームをつくりました。 その内の一つにyahoo.co.jpを設定してあります。 そのyahooの右側の「個人ツール」の箇所だけ 焦点をあてて表示させる方法はありませんか? 一目でメールチェックができるようにしたいので。 なお、HP作成ではなく、まったくのローカルで使うものです。 <HTML> <HEAD> <TITLE>LINK</TITLE> </HEAD> <FRAMESET COLS="50%,50%"> <FRAMESET ROWS="42%,58%"> <FRAME SRC="http://www.google.co.jp" NAME="google" SCROLLING="auto" > <FRAME SRC="http://www.goo.ne.jp" NAME="goo" SCROLLING="auto" > </FRAMESET> <FRAMESET ROWS="73%,27%"> <FRAME SRC="http://www.yahoo.co.jp" NAME="yahoo" SCROLLING="auto" > <FRAME SRC="http://www.infoseek.jp" NAME="infoseek" SCROLLING="auto" > </FRAMESET> <NOFRAMES> <BODY> 本ページはフレームで構成されております。<BR> フレーム未対応のブラウザでは表示できませんのでご了承ください。</BODY> </NOFRAMES> </FRAMESET> </HTML>

    • ベストアンサー
    • HTML
  • フレーム内から親ウィンドウにロケーション?

    こんにちは。 どなたかよい解決策をご存知でしたら教えてください。 フレームで切られたウィンドウの一部のフレームから、PHP(ver.3)でページをロケーションで呼ぶと、そのフレームの中に呼んだページが表示されてしまいます。 JavaScriptは使わずに、親ウィンドウにページを表示させることは出来ないでしょうか、、、 よろしくお願いいたします。 以下はイメージサンプルです。 ■frame.html <html> <head><title>フレームセット</title></head> <frameset cols="100,*" frameborder="NO" border="0" framespacing="0"> <frameset name="left" rows="60,*" frameborder="NO" border="0" framespacing="0"> <frame name="a" noresize scrolling="NO" src="./test1.html"> <frame name="b" noresize src="./test2.html"> </frameset> <frameset name="right" rows="44,*" frameborder="NO" border="0" framespacing="0"> <frame name="c" noresize scrolling="NO" src="./test3.html"> <frame name="d" noresize src="./locat.php3"> </frameset> <noframes> このページはフレーム対応のブラウザでご覧ください。 </noframes> </frameset> </html> ■locat.php3 <? header("Location: ./test4.html"); exit(); ?> ■test1.html <html> <head><title>テスト1</title></head> <body> 左上 </body> </html> ■test2.html <html> <head><title>テスト2</title></head> <body> 左下 </body> </html> ■test3.html <html> <head><title>テスト3</title></head> <body> 右上 </body> </html> ■test4.html <html> <head><title>テスト4</title></head> <body> このページをウィンドウ全画面に表示 </body> </html>

    • 締切済み
    • PHP
  • こんなことって出来ますか?

    <HTML> <HEAD> </HEAD> <FRAMESET ROWS="*,20%,5%" Border="0"> <FRAME SRC="top.html" NAME="main"> <FRAME SRC="menu.html" NAME="menu"> <FRAME SRC="yo.html" NAME="yo"> </FRAMESET> <NOFRAMES><BODY> このHPはフレーム対応ブラウザでしか御覧いただけません。 </BODY></NOFRAMES> </HTML> という状態で、 mainフレームに表示されているHTMLの見えない部分(スクロールさせないと表示されない部分)をyoフレームに表示させて、mainフレームがスクロールされるとyoフレームのところも随時その下の部分が表示されていく。 つまり、mainフレームの内容にmenuフレームがかぶさってる様に見せたいのですが、そんなことって出来るのでしょうか? あぁー こんな説明で伝わるだろうか とっても不安w まったく無知で、こういうことがJavaScriptの分野なのかどうかも分かって無いので、こんな質問ですいません。^^;

  • HP作成初心者です。

    HP作成初心者です。 「alphaEDIT」を利用して、フレーム設定を行っているのですが、プレビューで確認すると フレームの枠しか表示されず、別に作成したページ内容が表示されません。 以下のHTMLですが、確認しても間違いがわかりません。 <html> <head> <title>EW</title> </head> <frameset rows="150,*"> <frame src="top.html" name="top"> <frameset cols="300,*"> <frame src="left.html" scrolling="yes" name="left"> <frame src="right.html" name="right" > </frameset> <noframes> <body> <p>このページはフレームを使用しています</p> </body> </noframes> </frameset> </html> どうすれば各ページ内容が表示されるか教えてください。 どうぞよろしくお願いします。

  • フレームタグの四つわりについて。

    <HTML> <HEAD> <TITLE></TITLE> </HEAD> <FRAMESET cols="65,*,65"> <FRAME src="左側のファイルアドレス"> <FRAMESET rows="*,50"> <FRAME src="真ん中上のファイルアドレス"> <FRAME src="真ん中下のファイルアドレス"> </FRAMESET> <FRAME src="右側のファイルアドレス"> <NOFRAMES> <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P> </BODY> </NOFRAMES> </FRAMESET> </HTML> のようなタグでフレーム割をしたいのですが、どこにファイルの名前を入れたら良いのですか?教えて下さい。 リンクのタグは<A href="ここにアドレス" target="frame">ここに文字</A> で良いのはわかってます。

    • ベストアンサー
    • HTML
  • HPを作ってアップしたのですが・・・

    私はalphaeditというフリーソフトでHPを作ってFFFTPでアップロードしました。 基本的なhtmlは反映されるのですが、フレームを使ったhtmlが真っ白になってしまい、反映されません。 これがフレームを使ったページのソースです↓ <html> <head> <title>ホーム</title> </head> <frameset rows="70,*"> <frame name="メニュー" src="C:/HP/myHP/menu.html"> <frame name="トップページ" src="C:/HP/myHP/top_page.html"> <noframes> <body> <p>このページはフレームを使用しています</p> </body> </noframes> </frameset> </html> どうして反映されないのか分かりません。 ちなみにOSはXPです。どなたかお願いします!

  • マックは平気なのに、ウインドウズで表示されない。

    macのOS10でHPを作っています。ネットはインターネットエクスプローラーです。 すでにアップして、マックではちゃんと見る事ができるのですが、ウインドウズでは見れません。 インデックスページは正常に見る事ができるのですが、次のページから、真っ白になります。 そのページが、フレームを5つも使っているページなのですが、それが問題なのでしょうか。 それともタグの問題?? <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <Title></Title> <body bgcolor="#260d00" link="white"vlink="white"alink="#ddff26"> </head> <Frameset cols="*,350" Frameborder="no" Scrolling="no" Border="0"> <Frame name="hidari" src="menu.html" noresize> <Frameset rows="80,*,50" Frameborder="no" Scrolling="no" Border="0"> <Frame name="ue" src="ueframe.html"noresize> <frameset cols="300,50"> <Frame name="mannaka" src="body.html"> <Frame name="migi" src="migiframe.html"noresize> </Frameset> <Frame name="sita" src="sitaframe.html" noresize> </Frameset> <Noframes> <body><p><Center> 申し訳ございません。<Br> あなたのブラウザではこのページをご覧頂けません。<Br> 最新版のブラウザをお使い下さい。</p></body> </Center> </Noframes> </frameset> </html>

    • ベストアンサー
    • HTML
  • フレーム分割した全体をスクロールバーで動かせないでしょうか?

    フレーム分割したホームページをスクロールバーで上下したいのですが、書き方が分からなくて困っています。お分かりになる方がいらっしゃいましたら、教えて下さい。 尚、当方htmlでようやく簡単なページが作れるレベルです。宜しくお願い申し上げます。 尚、フレームの割り方が違う時はそちらもお教え下さいませ。 <HTML><HEAD> <META Http-Equiv="Content-Type" Content="text/html;charset=Shift_JIS"> <TITLE>フレーム分割</TITLE></HEAD> <FRAMESET Rows="195,*,50" Frameborder="1"> <Frameset cols="10%,80%,10%" Frameborder="1"> <FRAME Src="./frame1.html" name="f1" Scrolling="no"> <FRAME Src="./frame2.html" name="f2" Scrolling="no"> <FRAME Src="./frame1.html" name="f3" Scrolling="no"> </Frameset> <Frameset cols="10%,20%,60%,10%" Frameborder="1"> <FRAME Src="./frame1.html" name="f4"> <FRAME Src="./f001.html" name="f5" scrolling="no"> <FRAME Src="./f002.html" name="f6" scrolling="no"> <FRAME Src="./frame1.html" name="f7"> </Frameset> <FRAME Src="./end.html" name="f8" scrolling="no"> <NOFRAMES>恐れ入りますがフレーム対応ブラウザでご覧下さい</NOFRAMES> </FRAMESET> </HTML>

    • ベストアンサー
    • HTML
  • html、phpのアドレスバー

    今、htmlとphpでゲームを作っています。 数を当てるゲームなのですが、アドレスバーの左の方の「v」マークを押すとアドレスの履歴が表示され、そのページまで戻ることができてしまいます。 それを防止したいのですがアドレスバーを消すか、URLを表示しない方法はありますでしょうか・・・? この間探しているときに同じような質問を見て、 <?php session_start(); ?> <html> <head> </head> <FRAMESET rows="100%,*" frameborder="NO" border="0"> <FRAME src="lank.php" noresize name="main"> <NOFRAMES> <body> </body> </NOFRAMES> </FRAME> </FRAMESET> </html> というフレームの中にフレームという方法もしてみたのですが、$_POSTの中身がうまくわたりませんでした。 よろしくお願いいたします。

    • 締切済み
    • PHP