0Pricing
HTML Academy · Lezione

L’elemento iframe: src e sandbox

Incorporare pagine di terze parti e limitarne le funzionalità

L’elemento iframe: src e sandbox è una lezione HTML Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento HTML Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso HTML Academy include 4 lezioni in totale.

Che cos'è un iframe?

L'elemento <iframe> incorpora un altro documento HTML nella pagina corrente. Ogni iframe ha un proprio contesto di navigazione, DOM e ambito JavaScript. Il contenuto di un iframe non può accedere al DOM della pagina genitore senza un'autorizzazione esplicita.

Utilizzo di base degli iframe

Impostate l'attributo src sull'URL da incorporare: <iframe src="https://example.com" width="800" height="600">. L'iframe crea un nuovo contesto di navigazione. L'attributo title è obbligatorio per l'accessibilità: title="Embedded map".

L'attributo sandbox

sandbox applica restrizioni al contenuto dell'iframe: per impostazione predefinita disabilita script, moduli, popup e plugin. Aggiungete autorizzazioni specifiche per ripristinare le funzionalità necessarie: sandbox="allow-scripts allow-same-origin".

Autorizzazioni di sandbox

allow-scripts: abilita JavaScript. allow-same-origin: consente di trattare l'iframe come appartenente alla stessa origine, necessario per accedere a localStorage. allow-forms: abilita l'invio dei moduli. allow-popups: consente window.open(). Concedete solo le autorizzazioni minime necessarie.

iframe cross-origin

Gli iframe cross-origin non possono accedere al DOM della pagina genitore: parent.document genera un errore di sicurezza. La comunicazione tra frame cross-origin utilizza postMessage: iframe.contentWindow.postMessage(data, origin).

Comunicazione con postMessage

Inviate messaggi dalla pagina genitore all'iframe: iframe.contentWindow.postMessage({ type: "update", data: {} }, "https://embed.example.com"). Nell'iframe, mettete in ascolto: window.addEventListener("message", handler). Verificate sempre event.origin prima di elaborare il messaggio.

Caricamento differito degli iframe

loading="lazy" sugli iframe rimanda il caricamento finché l'iframe non è vicino al viewport, riducendo il caricamento iniziale della pagina. È utile per mappe, incorporamenti video e widget dei social media sotto la parte inizialmente visibile, che non devono essere visualizzati subito.

Prestazioni degli iframe

Ogni iframe carica un documento HTML separato, CSS, JavaScript e risorse: un costo significativo in termini di risorse. Eviti gli iframe per i contenuti che potrebbero essere incorporati come snippet. Carichi in modo lazy gli iframe che si trovano sotto la piega. Valuti l'uso di pattern facade (mostrare un segnaposto e caricare al clic).

Controllo dello scorrimento

Controlli il comportamento dello scorrimento dell'iframe: scrolling="no" disabilita le barre di scorrimento (deprecato; utilizzi CSS overflow: hidden sull'iframe). L'approccio moderno consiste nell'impostare l'altezza dell'iframe in modo che corrisponda a quella del contenuto, eliminando la necessità di barre di scorrimento interne.

Attributo allow

L'attributo allow concede all'iframe funzionalità della Permissions Policy: allow="camera; microphone; fullscreen". In questo modo l'iframe può richiedere l'accesso alla fotocamera, al microfono e alla Fullscreen API anche quando l'origine principale non utilizza queste funzionalità.

Incorporamento di YouTube e Maps

YouTube e Google Maps forniscono codici per l'incorporamento tramite iframe. Questi codici includono attributi allow per la modalità a schermo intero e la riproduzione automatica. Aggiunga sempre title="Video title" per garantire l'accessibilità agli screen reader. L'attributo sandbox non viene generalmente aggiunto ai codici di incorporamento di terze parti: consulti la relativa documentazione per le indicazioni sulla sicurezza.

Verifica delle conoscenze

Che cosa fa l'attributo sandbox a un iframe per impostazione predefinita, quando non contiene valori?

Riepilogo

Gli iframe incorporano documenti esterni in contesti di navigazione isolati. L'attributo sandbox limita le funzionalità dell'iframe: conceda solo le autorizzazioni minime necessarie. postMessage consente una comunicazione sicura tra origini diverse. lazy rimanda il costo delle risorse per gli iframe sotto la piega. L'attributo allow concede funzionalità della Permissions Policy agli incorporamenti di terze parti attendibili.

Domande Frequenti

La lezione «L’elemento iframe: src e sandbox» è gratuita?

Sì — il testo completo di «L’elemento iframe: src e sandbox» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso HTML Academy, passa a CoddyKit PRO. Il corso HTML Academy include 4 lezioni in totale.

Cosa imparerò in «L’elemento iframe: src e sandbox»?

Incorporare pagine di terze parti e limitarne le funzionalità Eserciti HTML Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare HTML Academy?

Non è richiesta alcuna esperienza precedente. HTML Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «L’elemento iframe: src e sandbox»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione HTML Academy?

Sì. Ogni lezione HTML Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. L’elemento iframe: src e sandbox
  2. Sicurezza degli iframe: clickjacking e X-Frame-Options
  3. Gli elementi embed e object
  4. Caricamento differito degli iframe
← Torna a HTML Academy