iframe を使用すると、他の Web サイトのページを簡単に呼び出すことができますが、注意して使用する必要があります。他の DOM 要素 (スタイルやスクリプトを含む) を作成する場合よりも、パフォーマンスが数十倍、場合によっては数百倍も高くなります。 100 個の異なる要素を追加するのにかかる時間を比較すると、iframe がいかにパフォーマンスを集中的に消費するかがわかります。 ![]() iframe を使用するページには、通常、それほど多くの iframe がないため、DOM の作成にかかる時間をそれほど気にする必要はありません。さらに懸念されるのは、onload イベントと接続プールです。 iframe ブロック onload ウィンドウの onload イベントができるだけ早く実行されることが非常に重要です。これにより、ブラウザの読み込み進行状況インジケーターが完了し、ユーザーはこれを使用してページが読み込まれたかどうかを判断します。 onload イベントが遅延すると、ユーザーはページが遅いと感じるでしょう。 ウィンドウの onload イベントは、ウィンドウに含まれるすべての iframe と iframe 内のすべてのリソースが完全に読み込まれるまでトリガーされません。 Safari と Chrome では、JavaScript を使用して iframe の src 値を動的に割り当てることで、このブロック動作を回避できます。 接続プール ブラウザは各 Web サーバーに対してごく少数の接続のみを開きます。 IE 6/7 や Firefox 2 などの古いブラウザでは、ホストごとに接続が 2 つしかありません。新しいブラウザでは、接続数が急増します。 Safari 3+ および Opera 9+ は 4 に増加し、Chrome 1+、IE 8、Firefox 3 は 6 に増加しました。 iframe ごとに個別の接続プールがあると思われるかもしれませんが、そうではありません。ほとんどのブラウザでは、接続はメイン ページとその iframe 間で共有されます。つまり、iframe 内のリソースが利用可能な接続を占有し、メイン ページのリソースの読み込みをブロックする可能性があります。 iframe 内のコンテンツがメイン ページと同等かそれ以上に重要な場合は、これで問題ありません。ただし、一般的に、iframe 内のコンテンツはページにとってそれほど重要ではないため、iframe が接続番号を占有することはお勧めできません。 1 つの解決策は、優先度の高いリソースのダウンロードが完了した後に、iframe の src 値を動的に割り当てることです。 米国のトップ 10 ウェブサイトのうち 5 つは iframe を使用しています。主に広告を読み込むために使用されます。これはあまり適切ではありませんが、理解できるものであり、コンテンツに広告を挿入する簡単な方法です。多くの場合、iframe を使用することは理にかなっています。ただし、これがページのパフォーマンスに及ぼす影響に注意してください。必要でない限りは注意してご使用ください。 |
<<: CSSページ下部固定を実現する8つの方法の詳細な説明
>>: react+antd.3x は IP 入力ボックスを実装します
目次1. Nginx の紹介1. Nginx とは何ですか? 2. Nginx を使用する理由3. ...
以下のように表示されます。 def test_write(self): フィールド=[] field...
「mysqlは内部コマンドではありません」というエラーは、mysqlのbinディレクトリパスが環境変...
データベースに関して最もよく聞かれる質問の 1 つは、現在のビジネス ニーズを満たす MySQL の...
最近のウェブサイトのほとんどはページが長く、4 画面または 5 画面の長さのものもあれば、2 画面ま...
次に、Centos7 に Java+Tomcat をインストールします。インターネット上には多くの記...
目次1 関数カリー化とは何ですか? 2 カレーの役割と特徴2.1 パラメータの再利用2.2 早期復帰...
この記事では、JSカルーセル効果の具体的なコードを実現するための3つの方法を紹介します。具体的な内容...
目次圧縮ファイルをダウンロードするアドレス: https://dev.mysql.com/downl...
1. 属性付きHTMLタグXML/HTML コードコンテンツをクリップボードにコピー< htm...
目次需要背景思考分析UI 表示始める1. 支払いコンポーネントテンプレートを作成する2. 支払いコン...
MySQL ツールを使用して、3 日間連続する例を見てみましょう。 1. SQL テーブルを作成しま...
1.メニューバーにスタートと入力し、スタートアップアプリケーションをクリックして入力します。 2. ...
目次jupyterをインストールするDocker ポートマッピングjupyterをインストールするp...
この記事では、フロントエンドのカウントダウン効果を実現するためのJavaScriptの具体的なコード...