Modernizr

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Modernizr
Image illustrative de l'article Modernizr
Logo

Développeur Faruk Ateş et la communauté Modernizr
Dernière version 2.7.1
Version avancée 3.0
Écrit en Javascript
Environnements Navigateur web
Type Framework
Licences Licence MIT
Site web modernizr.com

Modernizr est une bibliothèque développée en JavaScript détectant l'implémentation native par le navigateur de différentes fonctionnalités récentes. Elle est distribuée sous licence MIT.

Historique[modifier | modifier le code]

Faruk Ateş a annoncé la création de Modernizr le 1er juillet 2009[1]. La version 1.0 a été publiée le 5 septembre 2009[2]. La version 2.0 a été publiée le 1er juin 2011[3].

Fonctionnalité[modifier | modifier le code]

Modernizr est capable de détecter l'implémentation native par le navigateur de technologies web provenant des spécifications HTML5 et CSS 3, toutes deux encore en cours d'élaboration. Modernizr permet aussi la détection d'autres fonctionnalités, comme le support de SVG, de la géolocalisation, de SMIL, des écrans tactiles et de WebGL.

Modernizr fournit donc un ensemble de fonctions permettant de détecter le support par le navigateur de fonctionnalités CSS 3, comme "border-image" ou "opacity", et HTML 5, comme "canvas" ou "draganddrop".

De plus, Modernizr fournit des fonctions utilitaires permettant de faciliter le développement d'applications web compatibles avec différents navigateurs. La fonction Modernizr.load(), permettant le chargement conditionnel d'un script Javascript en fonction d'un test de fonctionnalité, ce qui permet de faciliter grandement l'utilisation des polyfills. La fonction Modernizr.prefixed() permet de connaitre le nom de l'implémentation d'une fonctionnalité disponible dans un navigateur. Par exemple, Modernizr.prefixed('boxSizing') va retourner "MozBoxSizing" avec Firefox.

Modernizr fournit aussi un module appelé html5shiv, qui permet aussi le support des balises de structure de HTML5 dans Internet Explorer 6. Par exemple, il va dynamiquement transformer les balises section en balise div. Modernizr est donc lui-même un polyfill rendant IE 6 compatible avec les balises de structure de HTML5.

Pour terminer, Modernizr propose des API permettant d'étendre son fonctionnement, en offrant la possibilité d'écrire de nouveaux tests.

Compatibilité[modifier | modifier le code]

Modernizr est compatible avec Internet Explorer 6 ou version ultérieure, Firefox 3.5 ou version ultérieure, Opera 9.6 ou version ultérieure, Safari 2 ou version ultérieure, Chrome, Safari Mobile, le navigateur d'Android, Opera Mobile et Firefox Mobile. Des tests sont en cours pour confirmer la compatibilité avec le navigateur de Blackberry 6 ou version ultérieure.

Références[modifier | modifier le code]

Voir aussi[modifier | modifier le code]

Sujets liés[modifier | modifier le code]

Lien externe[modifier | modifier le code]