2013-09-22 12 views
11

Quando si imposta autofocus="autofocus" su un elemento di input, quindi in Firefox, quando la pagina viene caricata, viene visualizzata per una frazione di secondo senza applicare il CSS. (Ad esempio, contenuto non centrato, intestazione resa in caratteri predefiniti ecc.)HTML 5 La messa a fuoco automatica incasina il caricamento dei CSS

Se rimuovo la messa a fuoco automatica, la pagina viene caricata correttamente e visualizzata quando è pronta.

C'è un modo per caricare la pagina normalmente mentre si utilizza la funzionalità autofocus in Firefox?

+4

Questo sembra essere un bug in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=712130 – tw16

risposta

14

Ho trovato che aggiungendo alcuni JavaScript nello <head>, la pagina attende lo stile da caricare prima dello stato attivo.

Non sono esattamente sicuro del motivo per cui funziona, ma lo è!

Esempio:

<script type="text/javascript"> 
    // Fix for Firefox autofocus CSS bug 
    // See: http://stackoverflow.com/questions/18943276/html-5-autofocus-messes-up-css-loading/18945951#18945951 
</script> 
+0

Questa correzione funziona! Grazie molto. –

+0

Funziona perché blocca il browser e sembra che questo breve blocco sia sufficiente per Firefox per disporre correttamente la pagina in background. – Fleshgrinder

+2

Sembra che questo bug sia stato risolto molto recentemente e arriverà in FF 60: https://bugzilla.mozilla.org/show_bug.cgi?id=712130 – Niavlys