Iframe
# Iframe

L'iframe (dall'inglese inline frame) in informatica è un elemento HTML. Si tratta infatti di un frame "ancorato" all'interno della pagina, equivale cioè ad un normale frame, ma con la differenza di essere un elemento (interno) della pagina, non esterno.

L'iframe viene generalmente utilizzato per mostrare il contenuto di una pagina web, o di una qualsivoglia risorsa, all'interno di un riquadro in una seconda pagina principale.

Nel linguaggio HTML l'iframe viene rappresentato tramite il tag <iframe></iframe>.

L'iframe ha gli stessi attributi del tag <frame>, i principali sono: width, height, src, frameborder che rappresentano rispettivamente la larghezza, l'altezza, il file d'origine da visualizzare e la dimensione del bordo. Può inoltre sostenere l'attributo style o comunque una classe di stile CSS.

Sono stati usati soprattutto negli anni 90 e 2000 per:

* Creare l'intero layout del sito web (in alternativa si usava il tag TABLE quando non si usavano ancora i CSS)
* Incorporare contenuti multimediali (sia contenuti propri che di terze parti ad esempio video e mappe);
* Incorporare esempi di frammenti di codice;
* Incorporare applet. Si tratta di applicazioni che funzionano nel contesto di un sito web, ad esempio forme di pagamento o mappe interattive.

## Pro e contro

### Pro

* Caricamento rapido di materiali video, mappe, presentazioni e altri contenuti.
* Consentono di aprire più pagine contemporaneamente che sono completamente indipendenti tra loro.
* Il visitatore può cambiare schermata senza ricaricare la pagina.
* Si può dividere la struttura della pagina web in sezioni, modificabili singolarmente.
* L'utente sarà in grado di modificare in modo indipendente le dimensioni della finestra di sfondo, a meno che non vi sia stata applicata l'opzione "noresize".

### Contro

* A causa di alcune truffe informatiche che hanno sfruttato talune vulnerabilità dei browser (prima tra tutte il clickjacking), l'iframe ha una fama negativa e ne è sconsigliato l'utilizzo dalle nuove direttive del W3C.
* Il contenuto dell’iframe può contenere un plug-in o phishing dannoso all'insaputa del gestore del sito web.
* Gli iframe sono stati criticati per la loro poca sicurezza sulla privacy poiché a volte sono utilizzati per i plug-in dei social media che talvolta accedono ai dati utente, anche se i visitatori del sito web non interagiscono con il pulsante "Mi piace" o "Condividi".
* Può accadere che l'indicizzazione del sito web (SEO) da parte dei robot dei motori di ricerca venga interrotta quando incontrano un iframe. Questo fatto può essere sfruttato dai Black Hat SEO per far visualizzare all'utente contenuto che non vuole che i motori di ricerca vedano.
* Diminuiscono l'accessibilità poiché gli screen readers fanno più fatica ad interpretarli.
* Un utente malintenzionato può modificare l'URL del sito di origine, dirottare i click degli utenti e le loro sequenze di tasti
* Tende a non rendere fruibili i pulsanti "Indietro" e "avanti" del browser, come fanno anche le tecnologie Ajax e Adobe Flash.
* Può confondere i visitatori ipovedenti
* Ogni iframe della pagina richiede una maggiore memoria e più risorse di elaborazione.
