HTML5でフレームが削除されたのにiFrameが削除されなかったのはなぜですか?結局のところ、2つの間にほとんど違いはありません。多くの場合、どちらかを使用すると同じ出力が得られますか(間違っている場合はご容赦ください)?

コメント

回答

投稿にはいくつかの誤解があります。まず、frameおよびframeset要素はHTML5で非推奨ではなく、「廃止されました(つまり、それらは完全に削除されました)。

次に、frame

要素はiframe要素と同じものではなく、同じ出力を提供しません:

  • frameset要素は、Webページに別のドキュメントモデルを含める手段として、ページのbody要素を置き換えます。これらは「使いやすさとアクセシビリティ、および意図したものに悪影響を及ぼします。達成するために、CSSとユビキタスなサーバー側開発に完全に置き換えられました。

  • 一方、iframe要素はページの本文を置き換えないでください。これは、コンテンツのブロック内に埋め込まれた新しいブラウジングコンテキストを含める手段として機能します。フレームセットモデルと同じ使いやすさやアクセシビリティの問題はなく、埋め込みブラウジングコンテキストを含める必要があるほとんどすべての場所で使用されます(ウィジェットが最も多作な例です)。 1

HTML5のiframeには、サンドボックス化できるという追加機能もあります、親ドキュメントがその中で実行されるものを決定できるようにします。これにより、信頼できないコンテンツを埋め込むときに、親ドキュメント(および親ドキュメントへの訪問者)のセキュリティをある程度確保できます。


メモ

注1: object要素はiframe要素と多少重複していますが、コンテンツモデルが異なります(主にプラグインを対象としています)。独自の注意事項があり、「iframe要素が持つサンドボックス属性はありません。

コメント

  • フレームセット要素が"の使いやすさ"と"のアクセシビリティに悪いのはなぜですかdiv id = “a224cffd4d”>

しかし、iframe要素は' t?

  • @meritonフレームセットは、複数のドキュメントからページを構築します。同じ優先順位:これにより、特定の時間にどのドキュメントに焦点を合わせるかわからないスクリーンリーダーの課題が発生します。一方、フレーム要素は1つのページに埋め込まれているだけです。'画像が埋め込まれているのと同じです。
  • スクリーンリーダーの課題:私が話した視覚障害者は皆、ナビゲーションを無視して必要なときにだけ読むことができるので、ナビゲーションを別のフレーム(iFrameではなく)に固定することを好むと言っています。スクリーンリーダーの本当の原因はJavascriptとAJAXであり、現在のスクリーンリーダーではページを完全に使用できなくなります(私の情報は約10か月前のものです)。スクリーンリーダーに関する私の個人的な経験はこれを裏付けています。
  • '多くの2005 'が多くの場合、再引用されたアクセシビリティアサーションは、更新が遅れていません。'異議を唱えてくれてありがとう。
  • @GlenPetersonフレーム要素なしで同じ効果を実現するには、CSSを使用してブロック要素をビューポートに固定します。そのようなナビゲーションが必要な場合は、これを行う必要があります。
  • 回答

    フレームセットは、次の基本原則に違反する方法で使用されることがよくあります。 Web-各ドキュメントには単一のURLがあります。これにより、リンク、ブックマーク、検索エンジンなどに問題が発生します。

    フレームセットの一般的な使用法は、ロゴまたはヘッダーのある上部のフレーム、メニューのある側面のフレーム、およびコンテンツフレーム。ただし、検索エンジンは個々のページにインデックスを付けるため、Googleでページを見つけると、フレームセットなしでコンテンツページに直接リンクするため、ナビゲーションが失われます。リンクとブックマークの問題は、通常、フレームセット自体を失うことなく、フレームセット内の特定のコンテンツページをリンクまたはブックマークしたいということです。それを行う簡単な方法はありません。

    フレームセットが最初に人気になった理由は、静的に配置されたヘッダーと、スクロールするコンテンツ領域を備えたメニューが許可されていたためです。しかし、それは今日のCSSではるかに簡単に達成できます。さらに、フレームを使用すると、サーバー側のコーディングを使用せずに、ロゴやメニューなどの一般的な要素を複数のページで使用できます。これは、サーバー側のコーディングが面倒でエラーが発生しやすく(つまり、CGIスクリプト)、多くのホストがサーバー側のスクリプトをまったく許可していなかった時代の利点でした。今日、コンテンツ管理システム(CMS)とより優れたサーバー側があります。プラットフォームの場合、これはサーバー側ではるかに適切に処理されます。

    したがって、基本的にフレームセットを使用する利点はなく、多くの問題があります。

    IFrames >フレームセットが使用されたのと同じ方法で使用され、その場合も同じ問題が発生します。ただし、同じ問題が発生しないiframeの正当な使用法も多数あります。

    Answer

    フレーム(フレームセット)はドキュメントとして機能します。HTMLドキュメントの構造とナビゲーションが壊れるため、削除されます。例えば。一方のフレームにリンクがあり、もう一方のフレームにコンテンツがあり、新しいウィンドウでページからリンクを開くことはできません。特定のサブページにリンクすることはできません。

    もう一方のフレームハンドiframeは、コンテンツ(広告など)をサンドボックス化することを目的としているため、正しく使用しても何も壊れません。

    コメントを残す

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です