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 Web
SQLDB (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).