Domanda Come usare HTML5 in IE 7?


Mi chiedevo se esiste un modo per rendere il codice html5 visibile in Internet Explorer 7 o meno.

Per esempio

<div id="container"> 
    <header id="header"> 
        something 
    </header>
</div>

In Internet Explorer 7 l'intestazione non viene mostrata affatto.

Ho trovato una soluzione Qui, uno script di abilitazione HTML5 IE, che crea gli elementi html5 con javascript. Ma quello che succede è che il <header> il tag non sembra affatto come negli altri browser.

Quindi la mia domanda è: è ancora troppo presto per usare HTML5 o come posso far funzionare il cross-browser?


10
2018-01-02 02:55


origine


risposte:


Questo bit (veramente) incredibile di Javascript dovrebbe soddisfare il 100% delle esigenze di compatibilità HTML5:

http://www.modernizr.com/


12
2018-01-02 02:59



Ci sono 2 cose importanti da considerare prima di usare HTML5;

  1. Destinatari (con la loro scelta del browser)
  2. HTML5 Funzionalità utili sul tuo sito.

Se sei sicuro che molti utenti siano su IE8 e seguenti, dovresti evitare di utilizzare HTML5 quasi interamente.

Quindi, quando dici "è ancora troppo presto per usare HTML5", la risposta dipende dalla tua base di utenti. IE ha un buon supporto per HTML5 solo dalla versione 9 e successive ..

Non c'è modo in cui si possano far funzionare le funzionalità avanzate di HTML5 su IE7 / 8 ... Il file html5.js a cui si fa riferimento fa semplicemente in modo che il CSS non "ignori" alcun elemento HTML5 e applichi lo stile. Non fa nulla oltre a questo ..

Per tutti i principali supporti e punteggi del browser, puoi consultare html5test.com

Oltre a questo, puoi anche provare un tutorial molto ben spiegato su HTML5 chiamato DesignMobileWeb disponibile su http://itunes.apple.com/in/app/designmobileweb/id486198804?mt=8

Per favore ricorda che se hai intenzione di avere un sito di base, l'uso di HTML5 dovrebbe essere evitato. Dovresti considerare HTML5 solo se prevedi di utilizzare Archiviazione locale, Accesso offline e moduli HTML5 per dispositivi mobili, ecc


6
2018-01-02 07:04



IE <9 non riconosce gli elementi HTML5 e non li genererà. Quindi uso questo bit di JS per fare la generazione:

var e = ("abbr,article,aside,audio,canvas,datalist,details,
figure,footer,header,hgroup,mark,menu,meter,nav,output,
progress,section,time,video,figcaption,summary").split(',');

for (var i = 0; i < e.length; i++){
    document.createElement(e[i]);
}

Uso questo commento condizionale per verificare se è necessario eseguire lo script

<!--[if lt IE 9]>
    <script src="js/html5_createElement_for_IE.js"></script>
<![endif]-->

Ovviamente, dovrai applicare lo stile ai tag per IE <9, ma in ogni caso dovresti averne bisogno.


5
2018-01-02 05:10



Inizia con questo: http://html5boilerplate.com/. Dovrebbe risolvere la maggior parte dei tuoi problemi. Funziona alla grande.


2
2018-01-02 04:29



Le versioni di IE <9 non renderanno gli elementi che non riconoscono, quindi i nuovi elementi HTML5, l'intestazione, ecc. Non sono nell'elenco. Altri browser visualizzano elementi non riconosciuti, ma senza stile.

Il modo per aggirare questo è "mostrare" i nuovi elementi a IE schizzando loro direttamente nel DOM usando JavaScript. Devi farlo solo una volta in ogni visualizzazione di pagina.

I due modi standard per farlo sono:

Modernizr ha anche un sacco di altre cose da fare con il rilevamento delle funzionalità.


1
2018-05-18 09:07



Prova ad usare chromeframe - http://code.google.com/chrome/chromeframe/

Di per sé anche se non puoi utilizzare la maggior parte delle nuove interessanti funzionalità di HTML5 con IE7. Semplicemente non è implementato nel browser in modo semplice e semplice.


0
2018-01-02 02:57



Controllo se il client richiedente supporta o meno il tipo di applicazione / xhtml + xml mime (fa parte dell'intestazione Accept inviato la richiesta).

In caso contrario, invio al client una versione della pagina utilizzando i nodi div al posto della maggior parte dei nodi semantici html5.


0
2018-01-02 05:52