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)
Ich habe vor Kurzem angefangen, das NestJs-Framew...
Inhaltsverzeichnis Überblick Formularvalidierung ...
<br />Verwandte Artikel: 9 praktische Vorsch...
Inhaltsverzeichnis 1. Array-Abflachung (auch als ...
Inhaltsverzeichnis 1. Art von 2. Instanz von 3. U...
Einführung Während des Arbeitsprozesses kommt es ...
In diesem Artikel wird der der Java-Verbindung zu...
Vorwort: Letzten Sonntag bat mich ein Senior, ihm...
1. Befehlseinführung Der Lesebefehl ist ein integ...
Im vorherigen Artikel https://www.jb51.net/articl...
1. Einleitung Personen, die nicht an die englisch...
In diesem Artikel wird der spezifische JavaScript...
Ich bin erst kürzlich zufällig auf diese kleine A...
Als ich kürzlich Docker zum Bereitstellen einer J...
1. Paradigma Der englische Name des Paradigmas la...