HTML の iframe と frame の違いを例を使って説明します

HTML の iframe と frame の違いを例を使って説明します

プロジェクトで frameset 属性を使用したことがあるかどうかはわかりません。昨年、オンライン カスタマー サービス システムの制作で frameset 属性を使用しました。カスタマー サービス システムでは、上部に 1 つのピース、下部に 1 つのピースなど、固定レイアウトが必要なため、そのときは frameset と frame を使用しました。これらの属性をいろいろ試してみた後、iframe と frame の違いがわかりました。これまでは、プロジェクトでフレームを使用することはほとんどなく、使用する場合は iframe を使用していました。

具体的な違いについては以下で説明しましょう。まとめると以下の通りです。

1. Frame は frameSet なしでは単独では使用できませんが、iframe は使用できます。

2. フレームを本体内に配置できない。

正常に表示されるのは以下のとおりです。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!--<本文>-->     
  2. <フレームセット = "50%、*" >     
  3.     <フレーム   名前= "フレーム1"     src = "test1.htm" />      
  4.     <フレーム   名前= "フレーム2"     src = "test2.htm" />      
  5. </フレームセット>     
  6. <!--<本文>-->    

以下は正常に表示できません:

XML/HTML コードコンテンツをクリップボードにコピー
  1. <本文>     
  2. <フレームセット = "50%、*" >     
  3.     <フレーム   名前= "フレーム1"     src = "test1.htm" />      
  4.     <フレーム   名前= "フレーム2"     src = "test2.htm" />      
  5. </フレームセット>     
  6. <本文>    

逆に、iframeがframeSet属性の下に配置されている場合は、本文に配置する必要があります。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <本文>     
  2.    <フレームセット>      
  3.      <インラインフレーム   名前= "フレーム1"     src = "test1.htm" />      
  4.      <インラインフレーム   名前= "フレーム2"     src = "test2.htm" />      
  5.    </フレームセット>      
  6. </本文>    

3. iframe は HTML タグであり、HTML 内のどこでも使用できますが、frame は使用できません。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <本文>     
  2.     <インラインフレーム   名前= "フレーム1"     src = "test1.htm" />      
  3.     <インラインフレーム   名前= "フレーム2"     src = "test2.htm" />      
  4. </本文>   
  5.   
  6. <>     
  7. < tr >     
  8. < td > < iframe   id = ""   src = "" > </ iframe > </ td > < td > </ td >     
  9. </tr>     
  10. </>    

フレームは frameSet 内にネストする必要があり、table などのタグでは使用できません。

4. フレームの高さはframeSetによってのみ制御できます。iframeはframeSetではなく、それ自体で制御できます。

XML/HTML コードコンテンツをクリップボードにコピー
  1. <!--<本文>-->     
  2. <フレームセット = "50%、*" >     
  3.     <フレーム   名前= "フレーム1"     src = "test1.htm" />      
  4.     <フレーム   名前= "フレーム2"     src = "test2.htm" />      
  5. </フレームセット>     
  6. <!--</body>-->     
  7.   
  8. <本文>     
  9. <フレームセット>     
  10.     <インラインフレーム 高さ= "30%"   名前= "フレーム1"     src = "test1.htm" />      
  11.     <インラインフレーム 高さ= "100"   名前= "フレーム2"     src = "test2.htm" />      
  12. </フレームセット>     
  13. </本文>    

5. 同じページで 2 つ以上の iframe が使用されている場合、IE では正常に表示されますが、Firefox では最初の 1 つしか表示されません。2 つ以上のフレームを使用すると、IE と Firefox の両方で正常に動作します。

<<:  vue3 コンポーネント通信方法の概要と例

>>:  他の人が私のウェブページを保存したり、サイトをコピーしたりするのを防ぐためのヒント

推薦する

動的テーブルを実装するための要素サンプルコード

目次【コード背景】 【コード実装】 #1# -> コード再利用の基本は、再利用可能なコンポーネ...

MySQL でトリガーを無効化および有効化するチュートリアル [推奨]

MYSQL を使用する場合、トリガーがよく使用されますが、不適切な使用によって問題が発生する場合が...

Docker はすべてのコンテナをバッチ起動して閉じます

Dockerの場合すべてのコンテナコマンドを開始する docker を起動します $(docker ...

複合主キーと複数列インデックスに遭遇した場合の MySQL 行ロックの詳細な説明

背景今日、他のプロジェクト チームと協力してシス​​テムのストレス テストを実施しているときに、プロ...

DockerコンテナでArthasを使用するための詳細な手順

Arthas はあなたのために何ができるでしょうか? Arthas 、開発者に深く愛されている Al...

Windows 10 での MySQL 8.0.16 のインストールと設定のチュートリアル

この記事では、参考までにMySQL 8.0.16のインストールと設定方法のグラフィックチュートリアル...

React Native が「NSArray<id<RCTBridgeModule>>型のパラメータを初期化できません」というエラーを報告する (解決方法)

最近、古い RN プロジェクトを Xcode で実行すると、次のコード エラーが報告されました。 &...

MYSQL updatexml() 関数のエラーインジェクション分析

まず、updatexml()関数を理解する UPDATEXML (XML ドキュメント、XPath ...

Vue のスロットの使用法と適用シナリオの詳細な分析

スロットとは何ですか? Vue では、子コンポーネント タグの中央に何もラップできないことはわかって...

MySQL 8.0.16 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.16圧縮パッケージのインストールと設定方法を参考までに紹介します。...

React 高階コンポーネント HOC 使用方法の概要

HOCを紹介する一文高階コンポーネント (HOC) とは何ですか? 公式ドキュメントによると、「高階...

jQueryはフォーム検証機能を実装します

jQuery フォーム検証の例 / ユーザー名、パスワード、住所、電子メールの検証を含む下記の通り ...

Dockerのプロセスとイメージを実行するための基本コマンドの詳細な説明

目次1. ワークフローを実行する2. ミラーリングの基本コマンド1. ワークフローを実行するDock...

MySQL 8.0 アップグレード体験

目次序文1. まず、既存のバージョンの MySQL を完全にアンインストールします。 2. deb ...

MySQL のクラスター化インデックスとクラスター化インデックスの成長の仕組みを理解する

このノートでは、 MySQL の B+Tree インデックスとは何ですか?クラスター化インデックスは...