Ricerca…


Parametri

Attributo Dettagli
name Consente di impostare il nome dell'elemento, per essere utilizzato con un a tag per cambiare del iframe src .
width Imposta la larghezza dell'elemento in pixel.
height Imposta l'altezza dell'elemento in pixel.
src Specifica la pagina che verrà visualizzata nel frame.
srcdoc Specifica il contenuto che verrà visualizzato nel frame, supponendo che il browser lo supporti. Il contenuto deve essere HTML valido.
sandbox Quando impostato, il contenuto dell'iframe viene considerato di origine univoca e le funzionalità che includono script, plug-in, moduli e popup saranno disabilitate. Le restrizioni possono essere ridotte in modo selettivo aggiungendo un elenco di valori separati da spazi. Vedere la tabella in Osservazioni per i possibili valori.
allowfullscreen Se consentire ai contenuti dell'iframe di utilizzare requestFullscreen()

Osservazioni

Un iframe viene utilizzato per incorporare un altro documento nel documento HTML corrente.

È possibile utilizzare gli iframe per la visualizzazione:

  • altre pagine HTML sullo stesso dominio;
  • altre pagine HTML su un altro dominio (vedi sotto - Politica della stessa origine);
  • Documenti PDF (anche se IE potrebbe avere qualche problema, questa domanda SO potrebbe aiutare);

È necessario utilizzare un iframe come ultima risorsa, in quanto ha problemi con il segnalibro e la navigazione, e ci sono sempre opzioni migliori oltre a un iframe. Questa domanda SO dovrebbe aiutarti a capire di più sugli alti e bassi degli iframe.


Politica della stessa origine

Alcuni siti non possono essere visualizzati utilizzando un iframe, perché applicano una politica chiamata Stessa politica dell'origine . Ciò significa che il sito su cui si trova l'iframe deve trovarsi nello stesso dominio di quello da visualizzare.

Questa politica si applica anche alla manipolazione di contenuti che vivono all'interno di un iFrame. Se iFrame accede a contenuti da un dominio diverso, non sarai in grado di accedere o manipolare il contenuto all'interno di un iFrame.

L'elemento iframe su W3C


attributo sandbox

L'attributo sandbox , se impostato, aggiunge ulteriori restrizioni all'iframe. Un elenco separato di token può essere usato per attenuare queste restrizioni.

Valore Dettagli
allow-forms Consente di inviare moduli.
allow-pointer-lock Abilita l'API del puntatore JavaScript.
allow-popups I popup possono essere creati usando window.open o <a target="_blank"
allow-same-origin Il documento iframe usa la sua vera origine invece di essere dato a uno unico. Se usato con allow-scripts il documento iframe può rimuovere tutto il sandboxing se è della stessa origine del documento genitore.
allow-scripts Abilita gli script. Il documento iframe e il documento principale possono essere in grado di comunicare tra loro utilizzando l'API postMessage() . Se usato con allow-same-origin il documento iframe può rimuovere tutto il sandboxing se è della stessa origine del documento genitore.
allow-top-navigation Consente al contenuto dell'iframe di cambiare la posizione del documento di livello superiore.

Nozioni di base su una cornice in linea

Il termine "IFrame" significa Inline Frame. Può essere usato per includere un'altra pagina nella tua pagina. Questo produrrà una piccola cornice che mostra il contenuto esatto di base.html .

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

Impostazione della dimensione del fotogramma

L'IFrame può essere ridimensionato usando gli attributi width e height , dove i valori sono rappresentati in pixel (valori di percentuale consentiti HTML 4.01, ma HTML 5 consente solo valori in pixel CSS).

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

Usando Ancore con IFrames

Di norma, viene avviata una modifica della pagina Web all'interno di un Iframe con l'Iframe, ad esempio facendo clic su un collegamento all'interno dell'Ifame. Tuttavia, è possibile modificare il contenuto di un IFrame dall'esterno dell'IFrame. È possibile utilizzare un tag di ancoraggio il cui attributo href è impostato sull'URL desiderato e il cui attributo target è impostato sull'attributo del name dell'iframe.

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

Utilizzando l'attributo "srcdoc"

È possibile utilizzare l'attributo srcdoc (anziché l'attributo src ) per specificare il contenuto esatto dell'iframe come un intero documento HTML. Questo produrrà un IFrame con il testo "Gli IFrame sono fantastici!"

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

Se l'attributo srcdoc non è supportato dal browser, l'IFrame ricadrà invece sull'uso dell'attributo src , ma se entrambi gli attributi src e srcdoc sono presenti e supportati dal browser, srcdoc ha la precedenza.

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

Nell'esempio precedente, se il browser non supporta l'attributo srcdoc , visualizzerà invece il contenuto della pagina base.html .

sandboxing

Quanto segue incorpora una pagina Web non affidabile con tutte le restrizioni abilitate

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

Per consentire alla pagina di eseguire script e inviare moduli, aggiungere allow-scripts e allow-forms sandbox attribute .

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

Se c'è un contenuto non attendibile (come i commenti degli utenti) sullo stesso dominio della pagina web padre, un iframe può essere utilizzato per disabilitare gli script pur consentendo al documento principale di interagire con il suo contenuto utilizzando JavaScript.

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

Il documento principale può aggiungere listener di eventi e ridimensionare l'IFrame per adattarlo ai suoi contenuti. Questo, insieme a allow-top-navigation , può far sembrare che l'iframe sandbox sia parte del documento genitore.

Questa sandbox non sostituisce l'input di sanificazione ma può essere utilizzata come parte di una strategia di difesa in profondità .

Sappi anche che questa sandbox può essere sovvertita da un utente malintenzionato che convince un utente a visitare direttamente la sorgente dell'iframe. L'intestazione HTTP della politica di sicurezza del contenuto può essere utilizzata per mitigare questo attacco.



Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow