Die Verwendung von IFrames kann leicht Seiten anderer Websites aufrufen, sie sollten jedoch mit Vorsicht verwendet werden. Es dauert Dutzende oder sogar hunderte Male mehr Leistung als das Erstellen anderer DOM -Elemente, einschließlich Stil und Skript. Das Hinzufügen von 100 verschiedenen Elementen Zeitvergleich zeigt, wie leistungsschwerend der Iframe ist:
Seiten, die IFRames verwenden, haben normalerweise nicht so viele IFrames. Machen Sie sich also keine Sorgen über das Erstellen von DOMs. Was besorgniserregender ist, sind die Onload -Ereignisse und Verbindungspools.
Iframe blockiert OnloadEs ist sehr wichtig, dass das Onload -Ereignis des Fensters so schnell wie möglich ausgeführt wird. Auf diese Weise kann der Ladeantrieb des Browsers abgeschlossen werden, und der Benutzer enthält, ob die Seite basierend darauf geladen wurde. Durch die Onload -Ereignisverzögerung wird der Benutzer das Gefühl, dass die Seite langsamer ist.
Das Onload -Ereignis des Fensters wird erst abgefeuert, wenn alle Iframes, die es enthält, und Ressourcen in allen IFRames vollständig geladen sind. In Safari und Chrom kann das dynamische Zuordnen von Werten Iframes mit JavaScriptpt dieses Blockierungsverhalten vermeiden.
Ein VerbindungspoolFür jeden Webserver öffnet der Browser nur einige Verbindungen. Alte Browser, einschließlich IE 6/7 und Firefox 2, haben nur 2 Verbindungen pro Host. Im neuen Browser nimmt die Anzahl der Verbindungen zu. Safari 3+ und Opera 9+ erhöhten sich auf 4, Chrom 1+, dh 8 und Firefox 3 auf 6.
Man könnte einen separaten Verbindungspool für jeden Iframe erwarten, aber das ist nicht der Fall. In den meisten Browsern werden Verbindungen von der Hauptseite und des Iframe geteilt, was bedeutet, dass die Ressourcen im Iframe die verfügbaren Verbindungen aufnehmen und die Ressourcenlade der Hauptseite blockieren. Dies ist großartig, wenn der Inhalt im Iframe gleichermaßen wichtig oder wichtiger ist als die Hauptseite. Im Allgemeinen ist der Inhalt in einem Iframe für die Seite jedoch nicht sehr wichtig, und es ist nicht ratsam, dass der Iframe die Anzahl der Verbindungen aufnimmt. Eine Lösung besteht darin, den SRC des Iframe dynamisch zuzuweisen, nachdem der Download der Ressource mit höherer Priorität abgeschlossen ist.
Fünf der 10 besten Websites der Vereinigten Staaten verwenden IFrames. Die meisten von ihnen werden verwendet, um Anzeigen zu laden. Dies ist nicht sehr geeignet, aber verständlicherweise ist es eine einfache Möglichkeit, Anzeigen in den Inhalt einzuführen. In vielen Fällen ist die Verwendung eines Iframe angemessen. Aber seien Sie sich der Leistungsauswirkungen auf Ihre Seite bewusst. Bitte verwenden Sie es mit Vorsicht, sofern dies nicht erforderlich ist.