Suche…


Parameter

Attribut Einzelheiten
name Legt den Namen des Elements fest, der zusammen mit a Tag verwendet werden soll, um die src des iframe zu ändern.
width Legt die Breite des Elements in Pixel fest.
height Legt die Höhe des Elements in Pixel fest.
src Gibt die Seite an, die im Frame angezeigt wird.
srcdoc Gibt den Inhalt an, der im Frame angezeigt wird, sofern der Browser ihn unterstützt. Der Inhalt muss gültiges HTML sein.
sandbox Wenn festgelegt, wird der Inhalt des Iframes als eindeutiger Ursprung behandelt, und Funktionen wie Skripte, Plugins, Formulare und Popups werden deaktiviert. Einschränkungen können durch Hinzufügen einer durch Leerzeichen getrennten Liste von Werten selektiv gelockert werden. Mögliche Werte finden Sie in der Tabelle in Anmerkungen.
allowfullscreen requestFullscreen() ob der Inhalt des iframe requestFullscreen()

Bemerkungen

Ein iframe wird verwendet, um ein anderes Dokument in das aktuelle HTML-Dokument einzubetten.

Sie können iframes für die Anzeige verwenden:

  • andere HTML-Seiten in derselben Domain;
  • andere HTML-Seiten in einer anderen Domain (siehe unten - Richtlinien mit gleichem Ursprung);
  • PDF-Dokumente (obwohl der IE möglicherweise Probleme hat, kann diese SO-Frage hilfreich sein);

Sie sollten einen Iframe als letzten Ausweg verwenden, da er Probleme mit dem Lesezeichen und der Navigation hat und es immer bessere Optionen als einen Iframe gibt. Diese SO-Frage sollte Ihnen helfen, mehr über die Höhen und Tiefen von Iframes zu erfahren.


Gleiche Ursprungspolitik

Einige Sites können nicht mit einem iframe angezeigt werden, da sie eine Richtlinie mit der Bezeichnung " Same-Origin-Richtlinie" erzwingen. Dies bedeutet, dass sich die Site, auf der sich der iframe befindet, in derselben Domäne befinden muss wie die anzuzeigende.

Diese Richtlinie gilt auch für die Bearbeitung von Inhalten, die sich in einem iFrame befinden. Wenn der iFrame auf Inhalte von einer anderen Domäne zugreift, können Sie nicht auf den Inhalt eines iFrame zugreifen oder ihn bearbeiten.

Das iframe-Element in W3C


sandbox

Wenn das sandbox Attribut gesetzt ist, werden dem iframe zusätzliche Einschränkungen hinzugefügt. Eine durch Leerzeichen getrennte Liste von Token kann verwendet werden, um diese Einschränkungen zu lockern.

Wert Einzelheiten
allow-forms Ermöglicht die Übermittlung von Formularen.
allow-pointer-lock Aktiviert die JavaScript-Zeiger-API.
allow-popups Popups können mit window.open oder <a target="_blank"
allow-same-origin Das iframe-Dokument verwendet seinen tatsächlichen Ursprung, anstatt einen eindeutigen zu erhalten. Bei Verwendung mit allow-scripts kann das iframe-Dokument das gesamte Sandboxing entfernen, wenn es aus demselben Ursprung wie das übergeordnete Dokument stammt.
allow-scripts Aktiviert Skripte. Das iframe-Dokument und das übergeordnete Dokument können möglicherweise mithilfe der postMessage() API miteinander kommunizieren. Bei Verwendung mit " allow-same-origin das iframe-Dokument das gesamte Sandboxing entfernen, wenn es aus demselben Ursprung wie das übergeordnete Dokument stammt.
allow-top-navigation Ermöglicht dem Inhalt des iframe, den Speicherort des Dokuments der obersten Ebene zu ändern.

Grundlagen eines Inline-Frames

Der Begriff "IFrame" steht für Inline Frame. Es kann verwendet werden, um eine weitere Seite in Ihre Seite aufzunehmen. Dies ergibt einen kleinen Rahmen, der den genauen Inhalt der base.html .

<iframe src="base.html"></iframe>

Rahmengröße einstellen

Die Größe des IFrame kann mithilfe der Attribute width und height geändert werden, wobei die Werte in Pixeln dargestellt werden (HTML 4.01 erlaubt Prozentwerte, HTML 5 jedoch nur Werte in CSS-Pixeln).

<iframe src="base.html" width="800" height="600"></iframe>

Verwenden von Ankern mit IFrames

Normalerweise wird eine Änderung der Webseite in einem Iframe mit dem Iframe initiiert, z. B. durch Klicken auf einen Link im Ifame. Es ist jedoch möglich, den Inhalt eines IFrame außerhalb des IFrame zu ändern. Sie können ein Anker - Tag , dessen Verwendung href - Attribut wird auf die gewünschte URL und deren target zu den wichtigsten iframe gesetzt name - Attribut.

<iframe src="webpage.html" name="myIframe"></iframe>
<a href="different_webpage.html" target="myIframe">Change the Iframe content to different_webpage.html</a>

Verwenden des Attributs "srcdoc"

Das Attribut " srcdoc kann (anstelle des Attributs " src ) verwendet werden, um den genauen Inhalt des iframe als gesamtes HTML-Dokument anzugeben. Dies ergibt einen IFrame mit dem Text "IFrames are cool!"

<iframe srcdoc="<p>IFrames are cool!</p>"></iframe>

Wenn das srcdoc Attribut nicht vom Browser unterstützt wird, srcdoc der srcdoc stattdessen auf das src Attribut zurück. Wenn jedoch die src und srcdoc vorhanden sind und vom Browser unterstützt werden, hat srcdoc Vorrang.

<iframe srcdoc="<p>Iframes are cool!</p>" src="base.html"></iframe>

Wenn der Browser das srcdoc Attribut nicht unterstützt, zeigt er im obigen Beispiel stattdessen den Inhalt der base.html Seite an.

Sandboxen

Im Folgenden wird eine nicht vertrauenswürdige Webseite mit allen aktivierten Einschränkungen eingebettet

<iframe sandbox src="http://example.com/"></iframe>

sandbox attribute allow-scripts und allow-forms hinzu allow-scripts damit die Seite Skripts ausführen und Formulare senden sandbox attribute .

<iframe sandbox="allow-scripts allow-forms" src="http://example.com/"></iframe>

Wenn nicht vertrauenswürdiger Inhalt (z. B. Benutzerkommentare) in derselben Domäne wie die übergeordnete Webseite vorhanden ist, kann ein Iframe verwendet werden, um Skripts zu deaktivieren, während das übergeordnete Dokument mit JavaScript dennoch mit seinem Inhalt interagieren kann.

<iframe sandbox="allow-same-origin allow-top-navigation" src="http://example.com/untrusted/comments/page2">

Das übergeordnete Dokument kann Ereignis-Listener hinzufügen und die Größe des IFrame an den Inhalt anpassen. Zusammen mit allow-top-navigation kann die Sandkasten-Box als Teil des übergeordneten Dokuments erscheinen.

Diese Sandbox ist kein Ersatz für die Desinfektion von Eingaben, sondern kann als Teil einer Tiefenverteidigungsstrategie verwendet werden .

Beachten Sie auch, dass diese Sandbox von einem Angreifer unterlaufen werden kann, der einen Benutzer dazu verleitet, die Quelle des Iframes direkt zu besuchen. Der HTTP-Header für Inhaltssicherheitsrichtlinie kann verwendet werden, um diesen Angriff zu mildern.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow