0Pricing
HTML Academy · Lektion

Das iframe-Element: src und sandbox

Binden Sie Seiten Dritter ein und beschränken Sie deren Fähigkeiten

Das iframe-Element: src und sandbox ist eine kostenlose HTML Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des HTML Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Was ist ein iframe?

Das Element <iframe> bettet ein anderes HTML-Dokument in die aktuelle Seite ein. Jedes iframe hat seinen eigenen Browsing-Kontext, sein eigenes DOM und seinen eigenen JavaScript-Gültigkeitsbereich. Inhalte innerhalb eines iframes können ohne ausdrückliche Erlaubnis nicht auf das DOM der übergeordneten Seite zugreifen.

Grundlegende Verwendung von iframes

Setzen Sie das src-Attribut auf die einzubettende URL: <iframe src="https://example.com" width="800" height="600">. Das iframe erstellt einen neuen Browsing-Kontext. Das title-Attribut ist für die Barrierefreiheit erforderlich: title="Embedded map".

Das sandbox-Attribut

sandbox wendet Einschränkungen auf den Inhalt des iframes an: Skripte, Formulare, Popups und Plugins werden standardmäßig deaktiviert. Fügen Sie bestimmte Berechtigungen hinzu, um Funktionen wiederherzustellen: sandbox="allow-scripts allow-same-origin".

Sandbox-Berechtigungen

allow-scripts: aktiviert JavaScript. allow-same-origin: ermöglicht, dass das iframe als gleiche Herkunft behandelt wird (erforderlich für den Zugriff auf localStorage). allow-forms: aktiviert das Absenden von Formularen. allow-popups: erlaubt window.open(). Gewähren Sie nur die unbedingt erforderlichen Berechtigungen.

Cross-Origin-iframes

Cross-Origin-iframes können nicht auf das DOM der übergeordneten Seite zugreifen – parent.document löst einen Sicherheitsfehler aus. Die Kommunikation zwischen Cross-Origin-Frames erfolgt über postMessage: iframe.contentWindow.postMessage(data, origin).

postMessage-Kommunikation

Senden Sie Nachrichten vom übergeordneten Dokument an das iframe: iframe.contentWindow.postMessage({ type: "update", data: {} }, "https://embed.example.com"). Lauschen Sie im iframe auf Nachrichten: window.addEventListener("message", handler). Überprüfen Sie event.origin immer, bevor Sie die Nachricht verarbeiten.

Lazy Loading für iframes

loading="lazy" bei iframes verzögert das Laden, bis sich das iframe in der Nähe des Viewports befindet – dadurch wird der anfängliche Seitenaufbau beschleunigt. Das ist nützlich für Karten, Videoeinbettungen und Social-Media-Widgets unterhalb des sichtbaren Bereichs, die nicht sofort sichtbar sind.

iframe-Performance

Jedes iframe lädt ein separates HTML-Dokument, CSS, JavaScript und Assets – ein erheblicher Ressourcenaufwand. Verwenden Sie iframes nicht für Inhalte, die als Snippet eingebettet werden könnten. Laden Sie iframes unterhalb des sichtbaren Bereichs verzögert. Ziehen Sie Facade-Muster in Betracht (einen Platzhalter anzeigen und beim Klick laden).

Scrollverhalten

Steuern Sie das Scrollverhalten von iframes: scrolling="no" deaktiviert Bildlaufleisten (veraltet; verwenden Sie stattdessen overflow: hidden in CSS für das iframe). Der moderne Ansatz besteht darin, die Höhe des iframes an die Inhaltshöhe anzupassen und dadurch interne Bildlaufleisten überflüssig zu machen.

allow-Attribut

Das allow-Attribut gewährt dem iframe Funktionen der Permissions Policy: allow="camera; microphone; fullscreen". Dadurch kann das iframe den Kamerazugriff, den Mikrofonzugriff und die Fullscreen API anfordern, auch wenn der übergeordnete Origin diese Funktionen nicht verwendet.

YouTube und Google Maps einbetten

YouTube und Google Maps stellen Einbettungscodes für iframes bereit. Diese enthalten allow-Attribute für den Vollbildmodus und die automatische Wiedergabe. Fügen Sie für die Barrierefreiheit von Screenreadern immer title="Video title" hinzu. Das sandbox-Attribut wird Einbettungscodes von Drittanbietern normalerweise nicht hinzugefügt – Hinweise zur Sicherheit finden Sie in deren Dokumentation.

Wissensüberprüfung

Was bewirkt das sandbox-Attribut standardmäßig bei einem iframe, wenn keine Werte angegeben sind?

Zusammenfassung

iframes betten externe Dokumente in isolierte Browsing-Kontexte ein. Das sandbox-Attribut schränkt die Fähigkeiten eines iframes ein – gewähren Sie nur die mindestens erforderlichen Berechtigungen. postMessage ermöglicht eine sichere Kommunikation zwischen verschiedenen Origins. Durch Lazy Loading werden Ressourcen für iframes unterhalb des sichtbaren Bereichs erst später geladen. Das allow-Attribut gewährt vertrauenswürdigen Einbettungen von Drittanbietern Funktionen der Permissions Policy.

Häufig gestellte Fragen

Ist die Lektion „Das iframe-Element: src und sandbox“ kostenlos?

Ja — der vollständige Text von „Das iframe-Element: src und sandbox“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des HTML Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Das iframe-Element: src und sandbox“?

Binden Sie Seiten Dritter ein und beschränken Sie deren Fähigkeiten Du übst HTML Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um HTML Academy zu starten?

Keine Vorkenntnisse erforderlich. HTML Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Das iframe-Element: src und sandbox“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser HTML Academy-Lektion Code schreiben und ausführen?

Ja. Jede HTML Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Das iframe-Element: src und sandbox
  2. iframe-Sicherheit: Clickjacking und X-Frame-Options
  3. Die Elemente embed und object
  4. Lazy Loading für iframes
← Zurück zu HTML Academy