Uno dei motivi principali per cui gli sviluppatori potrebbero non passare ancora a HTML5 è la mancanza di supporto per i browser legacy. Questo in realtà non è vero, e mentre potrebbe essere necessario un po' di jiggery pokery per una corretta retrocompatibilità, è ancora possibile.
Ovviamente, per browser legacy intendo Internet Explorer, poiché tutti gli altri principali player si aggiornano regolarmente e i loro utenti tendono a seguire l'esempio: browser come Firefox, Safari e Opera hanno supportato HTML5 per un po'. Alcuni sviluppatori potrebbero decidere di smettere di supportare IE6, ma per alcuni non è un'opzione e, in ogni caso, né IE7 né IE8 supportano HTML5. IE9 sarà, ma funziona solo su Windows Vista e Windows 7, quindi le altre versioni saranno ancora in circolazione per molto tempo a venire, come abbiamo visto con IE6.
Quindi cosa bisogna fare per far funzionare HTML5 in Internet Explorer?
come impedire a Spotify di aprirsi all'avvio di Windows 10
Elementi sconosciuti
Bene, prima di tutto, IE non renderà alcun elemento che non riconosce, quindi ignorerà completamente gli elementi strutturali HTML5 come |_+_|, |_+_|, |_+_|, |_+_ | e |_+_|, tutte le parti principali di un sito HTML5. Questo può essere corretto comunicando a IE di questi elementi utilizzando JavaScript. Il modo migliore per farlo è includere il HTML5 shiv sceneggiatura, creata da Remy Sharp. Questo pratico script crea tutti gli elementi HTML5 rilevanti che IE ora conoscerà durante il rendering della pagina.
Un problema con questo è che non funzionerà per gli utenti che hanno disattivato JavaScript. Sfortunatamente non c'è modo di aggirare questo problema, quindi lo sviluppatore deve decidere se utilizzare HTML5 o rimanere con HTML 4.01.
Messa in piega
La maggior parte dei browser ha fogli di stile interni che, tra le altre cose, applicano |_+_| per bloccare elementi di livello. Mentre alcuni dei browser più recenti ora lo fanno per gli elementi HTML5 pertinenti, altri no e questo deve essere aggiunto per tutti i browser. Semplicemente aggiungendo il seguente stile farà il trucco:
header
Elementi del modulo
E che dire di alcuni dei nuovi elementi stessi, come il nuovi tipi di input – come vengono visualizzati sui browser legacy?
Bene in realtà. Poiché le specifiche HTML5 sono state estese in a in modo retrocompatibile , tutti i tipi di input non riconosciuti vengono trattati semplicemente come |_+_| e sarà semplicemente reso come tale.
la consegna scompare quando il messaggio viene letto?
Multimedia
Come ho discusso in passato, il video e gli elementi audio sono progettati per consentire un ritorno a Flash, che funzionerà bene su Internet Explorer.
Il passaggio a HTML5 sarà comunque graduale e alcuni non vedranno né avranno la necessità di utilizzare nessuna delle nuove funzionalità che fornisce, ma quando lo faranno, possono essere (relativamente) sicuri sapendo che i browser più vecchi renderà i loro siti bene.