modernizr

Eintrag zuletzt aktualisiert am: 10.02.2014

Das freie Framework modernizr bietet dem Entwickler auf einfache Weise die Möglichkeit, zu prüfen, ob der aktuelle Browser bestimmte Optionen unterstützt. Dazu wird lediglich auf boolesche Eigenschaften zugegriffen, die vom Objekt Modernizr bereitgestellt werden. Beispielsweise kann mit Modernizr.localstorage geprüft werden, ob der Browser DOM Storage (auch als »local storage« oder »Web Storage« bezeichnet) unterstützt. Mit Modernizr.websqldatabase kann hingegen geprüft werden, ob ein Zugriff auf die WebSQLDB (siehe vorherigen Abschnitt) möglich ist; mit Modernizr.indexeddb, ob die IndexDb (siehe ebenfalls vorherigen Abschnitt) zur Verfügung steht. Eine Liste aller Möglichkeiten, gegen die der Entwickler mit modernizr prüfen kann, findet sich unter http://modernizr.com/docs/.

In Fällen, in denen ein bestimmtes Merkmal nicht vom Browser angeboten wird, kann der Entwickler mit modernizr einen sogenannten Polyfill laden. Dabei handelt es sich um eine JavaScript-Datei, welche das fehlende Merkmal nachbildet. Listing 1, welches aus der Dokumentation von modernizr übernommen wurde, demonstriert dies. Es prüft mit der Funktion Modernizr.load, ob der vorliegende Browser die mit HTML5 assoziierte geolocation-API unterstützt. Ist dem so, bindet sie die JavaScript-Datei geo.js dynamisch ein; ansonsten den Polyfill geo-polyfill.js.

Modernizr.load({
test: Modernizr.geolocation,
yep : 'geo.js',
nope: 'geo-polyfill.js'
});
Listing 1: Dynamisches Laden von Script-Dateien mit modernizr

Modernizr bietet selbst keine Polyfills an. Allerdings verweist die Dokumentation auf eine Liste mit frei verfügbaren Polyfills (https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills).