HTML5でフレームが削除されたのにiFrameが削除されなかったのはなぜですか?結局のところ、2つの間にほとんど違いはありません。多くの場合、どちらかを使用すると同じ出力が得られますか(間違っている場合はご容赦ください)?
コメント
- stackoverflow.com/questions/4263509/ …
- リンクに感謝しますが、' 2つのわずかな違いは、iframeが非推奨にならないことです。
- フレームは最初からひどい考えでしたが、iframeにはいくつかの正当な使用例がありますか?
- スタックオーバーフロー時:" HTML5では非推奨のフレームですがiFrameでは非推奨 "
回答
投稿にはいくつかの誤解があります。まず、frame
およびframeset
要素はHTML5で非推奨ではなく、「廃止されました(つまり、それらは完全に削除されました)。
次に、frame
と
要素はiframe
要素と同じものではなく、同じ出力を提供しません:
-
frameset
要素は、Webページに別のドキュメントモデルを含める手段として、ページのbody要素を置き換えます。これらは「使いやすさとアクセシビリティ、および意図したものに悪影響を及ぼします。達成するために、CSSとユビキタスなサーバー側開発に完全に置き換えられました。 -
一方、
iframe
要素はページの本文を置き換えないでください。これは、コンテンツのブロック内に埋め込まれた新しいブラウジングコンテキストを含める手段として機能します。フレームセットモデルと同じ使いやすさやアクセシビリティの問題はなく、埋め込みブラウジングコンテキストを含める必要があるほとんどすべての場所で使用されます(ウィジェットが最も多作な例です)。 1
HTML5のiframe
には、サンドボックス化できるという追加機能もあります、親ドキュメントがその中で実行されるものを決定できるようにします。これにより、信頼できないコンテンツを埋め込むときに、親ドキュメント(および親ドキュメントへの訪問者)のセキュリティをある程度確保できます。
メモ
注1: object
要素はiframe
要素と多少重複していますが、コンテンツモデルが異なります(主にプラグインを対象としています)。独自の注意事項があり、「iframe
要素が持つサンドボックス属性はありません。
コメント
- フレームセット要素が"の使いやすさ"と"のアクセシビリティに悪いのはなぜですかdiv id = “a224cffd4d”>
しかし、iframe要素は' t?
回答
フレームセットは、次の基本原則に違反する方法で使用されることがよくあります。 Web-各ドキュメントには単一のURLがあります。これにより、リンク、ブックマーク、検索エンジンなどに問題が発生します。
フレームセットの一般的な使用法は、ロゴまたはヘッダーのある上部のフレーム、メニューのある側面のフレーム、およびコンテンツフレーム。ただし、検索エンジンは個々のページにインデックスを付けるため、Googleでページを見つけると、フレームセットなしでコンテンツページに直接リンクするため、ナビゲーションが失われます。リンクとブックマークの問題は、通常、フレームセット自体を失うことなく、フレームセット内の特定のコンテンツページをリンクまたはブックマークしたいということです。それを行う簡単な方法はありません。
フレームセットが最初に人気になった理由は、静的に配置されたヘッダーと、スクロールするコンテンツ領域を備えたメニューが許可されていたためです。しかし、それは今日のCSSではるかに簡単に達成できます。さらに、フレームを使用すると、サーバー側のコーディングを使用せずに、ロゴやメニューなどの一般的な要素を複数のページで使用できます。これは、サーバー側のコーディングが面倒でエラーが発生しやすく(つまり、CGIスクリプト)、多くのホストがサーバー側のスクリプトをまったく許可していなかった時代の利点でした。今日、コンテンツ管理システム(CMS)とより優れたサーバー側があります。プラットフォームの場合、これはサーバー側ではるかに適切に処理されます。
したがって、基本的にフレームセットを使用する利点はなく、多くの問題があります。
IFrames >フレームセットが使用されたのと同じ方法で使用され、その場合も同じ問題が発生します。ただし、同じ問題が発生しないiframeの正当な使用法も多数あります。
Answer
フレーム(フレームセット)はドキュメントとして機能します。HTMLドキュメントの構造とナビゲーションが壊れるため、削除されます。例えば。一方のフレームにリンクがあり、もう一方のフレームにコンテンツがあり、新しいウィンドウでページからリンクを開くことはできません。特定のサブページにリンクすることはできません。
もう一方のフレームハンドiframeは、コンテンツ(広告など)をサンドボックス化することを目的としているため、正しく使用しても何も壊れません。