HTML5 - Modernizr

Modernizr è un piccolo JavaScript Library che rileva la disponibilità di implementazioni native per le tecnologie web di prossima generazione

Ci sono molte nuove funzionalità che vengono introdotte tramite HTML5 e CSS3, ma allo stesso tempo molti browser non supportano queste novità.

Modernizr fornisce un modo semplice per rilevare qualsiasi nuova funzionalità in modo da poter eseguire l'azione corrispondente. Ad esempio, se un browser non supporta la funzione video, ti piacerebbe visualizzare una semplice pagina.

È possibile creare regole CSS in base alla disponibilità della funzionalità e queste regole si applicherebbero automaticamente alla pagina Web se il browser non supporta una nuova funzionalità.

Puoi scaricare l'ultima versione di questa utility da Modernizr Download .

Sintassi

Prima di iniziare a utilizzare Modernizr, dovresti includere la sua libreria javascript nell'intestazione della tua pagina HTML come segue:

<script src="modernizr.min.js" type="text/javascript"></script>

Come accennato in precedenza, puoi creare regole CSS in base alla disponibilità delle funzionalità e queste regole si applicherebbero automaticamente alla pagina web se il browser non supporta una nuova funzionalità.

Di seguito è riportata la semplice sintassi per gestire le funzionalità supportate e non supportate:

/* In your CSS: */
.no-audio #music {
   display: none; /* Don't show Audio options */
}
.audio #music button {
   /* Style the Play and Pause buttons nicely */
}

<!-- In your HTML: -->
<div id="music">
   
   <audio>
      <source src="audio.ogg" />
      <source src="audio.mp3" />
   </audio>
   
   <button id="play">Play</button>
   <button id="pause">Pause</button>
</div>

Qui è notevole che è necessario anteporre "no-" a ogni funzione / proprietà che si desidera gestire per il browser che non le supporta.

Di seguito è riportata la sintassi per rilevare una particolare funzionalità tramite Javascript:

if (Modernizr.audio) {
   /* properties for browsers that
   support audio */
}

else{
   /* properties for browsers that
   does not support audio */
}

Funzionalità rilevate da Modernizr

Di seguito è riportato l'elenco delle funzionalità che possono essere rilevate da Modernizr:

Caratteristica Proprietà CSS JavaScript Check
@ font-face .fontface Modernizr.fontface
Tela .tela Modernizr.canvas
Testo tela .canvastext Modernizr.canvastext
Audio HTML5 .Audio Modernizr.audio
Formati audio HTML5 N / A Modernizr.audio [formato]
Video HTML5 .video Modernizr.video
Formati video HTML5 N / A Modernizr.video [formato]
rgba () .rgba Modernizr.rgba
hsla () .hsla Modernizr.hsla
immagine di confine .borderimage Modernizr.borderimage
border-radius .borderradius Modernizr.borderradius
scatola-ombra .boxshadow Modernizr.boxshadow
Sfondi multipli .multiplebgs Modernizr.multiplebgs
opacità .opacità Modernizr.opacity
Animazioni CSS .cssanimations Modernizr.cssanimations
Colonne CSS .csscolumns Modernizr.csscolumns
Gradienti CSS .cssgradients Modernizr.cssgradients
Riflessioni CSS .cssreflections Modernizr.cssreflections
Trasformazioni CSS 2D .csstransforms Modernizr.csstransforms
Trasformazioni CSS 3D .csstransforms3d Modernizr.csstransforms3d
Transizioni CSS .csstransitions Modernizr.csstransitions
API di geolocalizzazione .geolocalizzazione Modernizr.geolocation
Tipi di input N / A Modernizr.inputtypes [tipo]
Attributi di input N / A Modernizr.input [attributo]
memoria locale .memoria locale Modernizr.localstorage
sessionStorage .sessionstorage Modernizr.sessionstorage
Web Workers .webworkers Modernizr.webworkers
applicationCache .applicationcache Modernizr.applicationcache
SVG .svg Modernizr.svg
Percorsi clip SVG .svgclippaths Modernizr.svgclippaths
SORRIDERE .smil Modernizr.smil
Database SQL Web .websqldatabase Modernizr.websqldatabase
IndexedDB .indexeddb Modernizr.indexeddb
Web Socket .websockets Modernizr.websockets
Evento Hashchange .hashchange Modernizr.hashchange
Gestione della storia .historymanagement Modernizr.historymanagement
Trascinare e rilasciare .trascinare e rilasciare Modernizr.draganddrop
Messaggistica cross-window .crosswindowmessaging Modernizr.crosswindowmessaging
API del plugin addTest () N / A Modernizr.addTest (str, fn)