フレームは、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属性を使用しましたが、テーブルやその他の方法を使用することもできます。