Analyse mehrerer Gründe, warum Iframe weniger verwendet werden sollte

Analyse mehrerer Gründe, warum Iframe weniger verwendet werden sollte
Die folgende Grafik zeigt, wie zeitaufwändig es ist, ein Iframe mit 100 verschiedenen Elementen zu erstellen.

Zeit zum Erstellen von 100 Elementen

Seiten, die Iframes verwenden, enthalten im Allgemeinen nicht zu viele Iframes, sodass der Zeitaufwand für die Erstellung von DOM-Knoten keinen großen Anteil ausmacht. Es bringt jedoch einige andere Probleme mit sich: Onload-Ereignis und Verbindungspool.

Iframes blockieren das Laden der Seite

Es ist sehr wichtig, das Onload-Ereignis des Fensters rechtzeitig auszulösen. Das Onload-Ereignis löst das Anhalten der „Beschäftigt“-Anzeige des Browsers aus und teilt dem Benutzer mit, dass die aktuelle Webseite geladen wurde. Wenn das Onload-Ereignis verzögert wird, entsteht für den Benutzer der Eindruck, dass die Webseite sehr langsam ist.

Das Onload-Ereignis des Fensters muss ausgelöst werden, nachdem alle Iframes (einschließlich der darin enthaltenen Elemente) geladen wurden. In Safari und Chrome kann diese Blockierung vermieden werden, indem der SRC des Iframes dynamisch über JavaScript festgelegt wird.

Nur Verbindungspool

Ein Browser kann nur eine geringe Anzahl von Verbindungen zu einem Webserver öffnen. Ältere Browser, darunter Internet Explorer 6 und 7 und Firefox 2, können nur zwei Verbindungen gleichzeitig zu einem einzigen Hostnamen öffnen. Dieses Limit wurde in neueren Browserversionen erhöht. Safari 3+ und Opera 9+ können 4 Verbindungen zu einer Domäne gleichzeitig öffnen, Chrome 1+, IE 8 und Firefox 3 können 6 Verbindungen gleichzeitig öffnen. Sie können die detaillierte Datentabelle in diesem Artikel anzeigen: Zusammenfassung zu parallelen Verbindungen.

Man könnte erwarten, dass ein Iframe über einen eigenen separaten Verbindungspool verfügt, aber das ist nicht der Fall. In den meisten Browsern teilen sich die Hauptseite und die darin enthaltenen Iframes diese Verbindungen. Dies bedeutet, dass das Iframe beim Laden von Ressourcen möglicherweise alle verfügbaren Verbindungen verbraucht und so das Laden der Hauptseitenressourcen blockiert. Dies ist natürlich in Ordnung, wenn der Inhalt im Iframe wichtiger ist als der Inhalt der Hauptseite. Aber normalerweise ist der Inhalt im Iframe nicht so wichtig wie der Inhalt der Hauptseite. An dieser Stelle lohnt es sich nicht, alle verfügbaren Verbindungen im Iframe zu verwenden. Eine Lösung besteht darin, den SRC des Iframes dynamisch festzulegen, nachdem die wichtigen Elemente auf der Hauptseite geladen wurden.

Die Top-10-Websites in den Vereinigten Staaten verwenden alle Iframes. Meistens wird es zum Laden von Anzeigen genutzt. Dies ist eine verständliche und logische Lösung, eine einfache Möglichkeit, Werbedienste zu laden. Bedenken Sie jedoch, dass Iframes die Leistung Ihrer Seite beeinträchtigen. Vermeiden Sie nach Möglichkeit die Verwendung von Iframes. Wenn Sie sie benötigen, verwenden Sie sie mit Vorsicht.

Quelle: Englische Originalübersetzung aus China: IT-Sucht    

<<:  Detaillierte Erklärung des Nginx-Prozessplanungsproblems

>>:  Perfekte Lösung für den Themenwechsel basierend auf CSS-Variablen (empfohlen)

Artikel empfehlen

So stellen Sie ein Vue-Projekt unter Nginx bereit

Heute werde ich den Server nginx verwenden und mu...

Erfahrungsaustausch über die Priorität des Ladens von CSS-Stilen

Während der Projektentwicklung bin ich gestern auf...

Verwenden Sie reines CSS, um das A-Tag in HTML ohne JavaScript zu deaktivieren

Tatsächlich ist dieses Problem bereits aufgetreten...

Schritte zum Erstellen eines Dateiservers mit Apache unter Linux

1. Über den Dateiserver Wenn Sie in einem Projekt...

Detaillierte Erläuterung der Mybatis-Sonderzeichenverarbeitung

Vorwort: Mybatis-Sonderzeichenverarbeitung, Verar...

Die Verwendung von Textbereichen in HTML und häufige Probleme und Fallanalyse

Der Textarea-Tag ist ein HTML-Tag, den wir häufig ...

So zeichnen Sie die Zeitleiste mit Vue+Canvas

In diesem Artikelbeispiel wird der spezifische Co...

Welchen MySQL-Eindeutigen Index oder Normalen Index soll ich wählen?

Stellen Sie sich ein Szenario vor, in dem beim En...

Der Unterschied zwischen schreibgeschützt und deaktiviert

Um es zusammenzufassen: „Nur lesen“ ist nur für Ei...

Beispiel für eine Formatierungsmethode für Datum und Uhrzeit in js

js Datums-/Zeitformat Konvertieren Sie Datum und ...