34

私は HTML5 に不慣れで、いくつかの調査を行ったところ、 の使用<frameset>は時代遅れであり、私が読んだものからそうで<iframes>はないことがわかりました。誰かが私を助けることができますか、私は示されている例と同じ結果を得たいのですが、 <iframes>HTLM5<frameset>では廃止されていません。

<frameset cols="20%,*,">
    <frame src="menu.html">
    <frame src="events.html">
</frameset> 
4

3 に答える 3

34

フレームは、URL ナビゲーションとハイパーリンクに問題を引き起こしたため、廃止されました。これは、URL が (フレームセットを使用して) インデックス ページを表示するだけであり、各フレーム ウィンドウの内容を指定する方法がなかったためです。現在、Web ページは PHP、ASP.NET、Ruby などのサーバー側のテクノロジによって生成されることがよくあります。そのため、フレームを使用する代わりに、次のようにテンプレートをコンテンツとマージするだけでページを生成できます。

テンプレートファイル

<html>
<head>
<title>{insert script variable for title}</title>
</head>

<body>
  <div class="menu">
   {menu items inserted here by server-side scripting}
  </div>
  <div class="main-content">
   {main content inserted here by server-side scripting}
  </div>
</body>
</html>

サーバー側のスクリプト言語を完全にサポートしていない場合は、サーバー側のインクルード ( SSI ) を使用することもできます。これにより、同じことを実行できます。つまり、複数のソース ドキュメントから単一の Web ページを生成できます。

しかし、ウェブページのセクションを別の「ウィンドウ」にして、自分のサーバー上にあるとは限らない他のウェブページをロードできるようにしたい場合は、iframeを使用する必要があります。

次のように例をエミュレートできます。

フレームの例

<html>
<head>
  <title>Frames Test</title>
  <style>
   .menu {
      float:left;
      width:20%;
      height:80%;
    }
    .mainContent {
      float:left;
      width:75%;
      height:80%;
    }
  </style>
</head>
<body>
  <iframe class="menu" src="menu.html"></iframe>
  <iframe class="mainContent" src="events.html"></iframe>
</body>
</html>

レイアウトを実現するためのより良い方法がおそらくあります。CSS のfloat属性を使用しましたが、テーブルやその他の方法を使用することもできます。

于 2013-08-15T18:43:12.423 に答える
7

HTML 5 は iframe をサポートしています。「sandbox」や「srcdoc」など、いくつかの興味深い属性が追加されました。

http://www.w3schools.com/html5/tag_iframe.asp

またはあなたが使用することができます

<object data="framed.html" type="text/html"><p>This is the fallback code!</p></object>
于 2013-08-15T18:38:58.703 に答える