noframes要素 -- フレームの代替内容

基本データ

noframes要素
文書型 適用 子要素 開始タグ 終了タグ 分類
Strict × 利用できません
Transitional インライン要素 ブロックレベル要素 必須 必須 ブロックレベル要素
Frameset body要素 frameset要素の子要素

属性

解説

フレームを利用したページを作るときに、フレーム未対応のブラウザやフレームを表示しないように設定している場合などに、代わりに表示する内容を表す要素です。Frameset DTDではframeset要素の子要素に配置します。

Frameset DTDの場合noframes要素の中身にはbody要素が一つ必要で、その中にサイトのタイトルやメニューなどが記述されます。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
      "http://www.w3.org/TR/html4/frameset.dtd">
<html lang="ja">
  <head>
    …
  </head>
  <frameset title="サイトのタイトル" cols="100,*">
    <frame src="menu.html" title="メニュー" name="left">
    <frame src="main.html" title="メイン画面" name="right">
    <noframes>
      <body>
        <h1>サイトのタイトル</h1>
        <ul>
          <li><a href="diary.html">日記帳</a></li>
          <li><a href="works.html">作品</a></li>
          <li><a href="profile.html">プロファイル</a></li>
        </ul>
      </body>
    </noframes>
  </frameset>
</html>

Lynxでは次の図のように表示されます。

(図)Lynxでの表示例

noframes要素はframeset要素の子要素です。<frameset></frameset>の外側に配置してはいけません。次の例は誤りです。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
      "http://www.w3.org/TR/html4/frameset.dtd">
<html lang="ja">
  <head>
    …
  </head>
  <frameset title="サイトのタイトル" cols="100,*">
    …
  </frameset>
  <noframes>
    <body>
      …
    </body>
  </noframes>
</html>

また、<noframes>の「s」を落として<noframe>としないよう気をつけてください。

noframes要素の中身には、フレームページの代わりになる内容を記述します。次のような例はよくありません。

<noframes>
  <body>
    <p>フレームに対応したブラウザでご覧ください。</p>
  </body>
</noframes>

これでは結局フレーム未対応のブラウザで閲覧できないので、noframes要素の意味がありません。

Frameset 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 --
  >

Information

現在の位置