Desidero utilizzare alcuni nuovi attributi di modulo HTML5 e tipi di input su una pagina Web. Alcuni browser li supportano già, altri no e mai lo faranno. Ecco perché voglio usare Modernizr - e questo è stato il mio problema inizia.Modernizr - Modo corretto di caricamento polyfill/utilizzo di rilevamenti personalizzati
A mio parere, Modernizr non è un polyfill, ma uno script in grado di verificare se il browser è in grado di eseguire alcune nuove operazioni HTML5/CSS3. Se necessario, è possibile caricare un polyfill che "emula" queste funzionalità in modo che possano essere utilizzate nei browser non di supporto/precedenti. Questo è corretto, immagino?
Per quanto riguarda il test/caricamento: Qual è il modo corretto o migliore per caricare polifibre con Modernizr?
Nella documentazione ho trovato questo:
Modernizr.load({
test: Modernizr.geolocation,
yep : 'geo.js',
nope: 'geo-polyfill.js'
});
ma alcune pagine anche fare in questo modo:
if (Modernizr.touch){
// bind to touchstart, touchmove, etc and watch `event.streamId`
} else {
// bind to normal click, mousemove, etc
}
Inoltre, come faccio io in realtà a conoscere come queste caratteristica rileva sono chiamati? Qualcosa come Modernizr.geolocation
esiste sicuramente per ogni funzione di rilevamento?
Nel repository GitHub di Modernizr, ci sono anche molte funzioni fornite dagli utenti. Come posso implementare questi nella mia versione di Modernizr? O è meglio usare semplicemente il loro costruttore?
In Safari, la convalida del modulo HTML5 funziona, ma non esiste un'interfaccia utente per la visualizzazione dei messaggi di errore. Fondamentalmente, la funzionalità è appena implementata. Ecco perché Modernizr dà un falso positivo in Safari, come già menzionato qui: https://github.com/Modernizr/Modernizr/issues/266 Apparentemente qualcuno ha risolto questo problema con un test personalizzato, ma ancora non capisco come usarlo.1
'yepnope' è ora deprecato. –