Zoeken…


parameters

Attribuut Details
name Hiermee wordt de naam van het element, om te worden gebruikt met een a tag aan de iframe veranderen src .
width Stelt de breedte van het element in pixels in.
height Stelt de hoogte van het element in pixels in.
src Hiermee geeft u de pagina op die in het frame wordt weergegeven.
srcdoc Hiermee geeft u de inhoud op die in het frame wordt weergegeven, ervan uitgaande dat de browser dit ondersteunt. De inhoud moet geldige HTML zijn.
sandbox Indien ingesteld, wordt de inhoud van het iframe behandeld als zijnde van een unieke oorsprong en worden functies zoals scripts, plug-ins, formulieren en pop-ups uitgeschakeld. Beperkingen kunnen selectief worden versoepeld door een door spaties gescheiden lijst met waarden toe te voegen. Zie de tabel in Opmerkingen voor mogelijke waarden.
allowfullscreen Of de inhoud van het iframe requestFullscreen()

Opmerkingen

Een iframe wordt gebruikt om een ander document in te sluiten in het huidige HTML-document.

U kunt iframes gebruiken voor het weergeven van:

  • andere HTML-pagina's op hetzelfde domein;
  • andere HTML-pagina's op een ander domein (zie hieronder - Beleid van dezelfde oorsprong);
  • PDF-documenten (hoewel IE mogelijk problemen heeft, kan deze SO-vraag helpen);

U MOET een iframe als laatste redmiddel gebruiken, omdat deze problemen heeft met bladwijzers en navigatie, en er zijn altijd betere opties dan een iframe. Deze SO-vraag zou je moeten helpen meer te begrijpen over de ups en downs van iframes.


Beleid van dezelfde oorsprong

Sommige sites kunnen niet worden weergegeven met een iframe, omdat ze een beleid afdwingen met de naam Same-origin policy . Dit betekent dat de site waarop het iframe ligt zich in hetzelfde domein moet bevinden als de site die moet worden weergegeven.

Dit beleid is ook van toepassing op het manipuleren van inhoud die zich binnen een iFrame bevindt. Als het iFrame toegang heeft tot inhoud van een ander domein, kunt u de inhoud binnen een iFrame niet openen of manipuleren.

Het iframe-element op W3C


sandbox kenmerk

Het sandbox kenmerk, indien ingesteld, voegt extra beperkingen toe aan het iframe. Een door spaties gescheiden lijst met tokens kan worden gebruikt om deze beperkingen te versoepelen.

Waarde Details
allow-forms Hiermee kunnen formulieren worden ingediend.
allow-pointer-lock Schakelt de JavaScript-pointer-API in.
allow-popups Pop-ups kunnen worden gemaakt met behulp van window.open of <a target="_blank"
allow-same-origin Het iframe-document gebruikt zijn echte oorsprong in plaats van dat het een unieke krijgt. Indien gebruikt met allow-scripts het iframe-document alle sandboxing verwijderen als het van dezelfde oorsprong is als het bovenliggende document.
allow-scripts Schakelt scripts in. Het iframe-document en het bovenliggende document kunnen mogelijk met elkaar communiceren via de API postMessage() . Indien gebruikt met allow-same-origin het iframe-document alle sandboxing verwijderen als het van dezelfde oorsprong is als het bovenliggende document.
allow-top-navigation Hiermee kan de inhoud van het iframe de locatie van het document op het hoogste niveau wijzigen.

Basisprincipes van een inline frame

De term "IFrame" betekent Inline Frame. Het kan worden gebruikt om een andere pagina in uw pagina op te nemen. Dit levert een klein kader op dat de exacte inhoud van base.html toont.

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

De framegrootte instellen

De grootte van het IFrame kan worden gewijzigd met behulp van de kenmerken width en height , waarbij de waarden worden weergegeven in pixels (HTML 4.01 toegestane percentagewaarden, maar HTML 5 staat alleen waarden in CSS-pixels toe).

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

Ankers gebruiken met IFrames

Normaal gesproken wordt een wijziging van webpagina binnen een Iframe gestart vanuit het Iframe, bijvoorbeeld door op een koppeling in de Ifame te klikken. Het is echter mogelijk om de inhoud van een IFrame van buiten het IFrame te wijzigen. U kunt een anker tag wiens gebruik href attribuut is ingesteld op de gewenste URL en waarvan het target attribuut is ingesteld op het iframe de name attribuut.

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

Gebruik van het kenmerk "srcdoc"

Het srcdoc kenmerk kan worden gebruikt (in plaats van het src kenmerk) om de exacte inhoud van het iframe als een geheel HTML-document op te geven. Dit levert een IFrame op met de tekst "IFrames zijn cool!"

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

Als de srcdoc kenmerk niet wordt ondersteund door de browser, zal de iFrame in plaats daarvan terug te vallen met behulp van de src attribuut, maar als zowel de src en srcdoc attributen aanwezig zijn en worden ondersteund door de browser zijn, srcdoc voorrang.

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

Als in het bovenstaande voorbeeld de browser het kenmerk srcdoc niet ondersteunt, wordt in plaats daarvan de inhoud van de pagina base.html weergegeven.

sandboxing

Het volgende sluit een niet-vertrouwde webpagina in met alle beperkingen ingeschakeld

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

Om de pagina toe te staan scripts uit te voeren en formulieren in te dienen, voegt u allow-scripts en allow-forms aan het sandbox attribute .

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

Als er niet-vertrouwde inhoud (zoals opmerkingen van gebruikers) op hetzelfde domein als de bovenliggende webpagina staat, kan een iframe worden gebruikt om scripts uit te schakelen en toch het bovenliggende document te laten communiceren met de inhoud ervan met JavaScript.

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

Het bovenliggende document kan gebeurtenislisteners toevoegen en het formaat van het IFrame aanpassen aan de inhoud. Dit, samen met allow-top-navigation , kan ervoor zorgen dat het sandframe-iframe onderdeel lijkt te zijn van het bovenliggende document.

Deze sandbox is geen vervanging voor het opschonen van input, maar kan worden gebruikt als onderdeel van een diepgaande verdedigingsstrategie .

Houd er ook rekening mee dat deze sandbox kan worden ondermijnd door een aanvaller die een gebruiker overtuigt om de bron van het iframe rechtstreeks te bezoeken. De HTTP-header Content Security Policy kan worden gebruikt om deze aanval te beperken.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow