Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

HTMLIFrameElement: loading-Eigenschaft

Baseline 2023
Neu verfügbar

Seit December 2023 funktioniert diese Funktion auf aktuellen Geräten und in aktuellen Browserversionen. Auf älteren Geräten oder in älteren Browsern funktioniert sie möglicherweise nicht.

Die loading-Eigenschaft der Schnittstelle HTMLIFrameElement ist ein String, der dem Browser einen Hinweis darauf gibt, ob das iframe sofort beim Laden der Seite oder erst bei Bedarf geladen werden soll.

Dies kann verwendet werden, um das Laden der Inhalte des Dokuments zu optimieren. Iframes, die beim Laden der Seite sichtbar sind, können sofort (eifrig) heruntergeladen werden, während Iframes, die bei anfänglichem Seitenladen wahrscheinlich außerhalb des Bildschirms liegen, verzögert heruntergeladen werden können, kurz bevor sie im visuellen Viewport des Fensters erscheinen.

Wert

Ein String, der dem Benutzeragenten einen Hinweis darauf gibt, wie das Laden des iframes am besten geplant werden sollte. Die möglichen Werte sind:

eager

Laden Sie das iframe, sobald das Element verarbeitet wird. Dies ist der Standardwert.

lazy

Laden Sie das iframe, wenn der Browser glaubt, dass es in naher Zukunft benötigt wird.

Verwendungshinweise

JavaScript muss aktiviert sein

Das Laden wird nur verzögert, wenn JavaScript aktiviert ist, unabhängig vom Wert dieser Eigenschaft.

Dies ist eine Anti-Tracking-Maßnahme, da es, wenn ein Benutzeragent das verzögerte Laden unterstützt und das Skripting deaktiviert ist, dennoch möglich wäre, die ungefähre Scroll-Position eines Benutzers während einer Sitzung zu verfolgen, indem man iframes strategisch im Markup einer Seite platziert, sodass ein Server verfolgen kann, wie viele angefordert werden und wann.

Timing des load-Events

Das load-Event wird ausgelöst, wenn das Dokument vollständig verarbeitet wurde.

Verzögert geladene iframes beeinflussen nicht das Timing des load-Events, selbst wenn das iframe im visuellen Viewport ist und daher beim Laden der Seite abgerufen wird. Alle eifrig geladenen iframes im Dokument müssen abgerufen werden, bevor das load-Event ausgelöst werden kann.

Beispiele

Grundlegende Verwendung

Das folgende Beispiel zeigt, wie Sie ein verzögert geladenes iframe definieren und dieses dann einem <div> im Dokument hinzufügen könnten. Der Frame würde dann erst geladen, wenn er sichtbar zu werden droht.

js
// Define iframe with lazy loading
const iframe = document.createElement("iframe");
iframe.src = "https://example.com";
iframe.width = 320;
iframe.height = 240;
iframe.loading = "lazy";

// Add to div element with class named frameDiv
const frameDiv = document.querySelector("div.frameDiv");
frameDiv.appendChild(iframe);

Spezifikationen

Spezifikation
HTML
# dom-iframe-loading

Browser-Kompatibilität

Siehe auch