Modernizr
Description de l'image Modernizr 2 Logo.png.

Informations
Développé par Faruk Ateş et la communauté Modernizr
Dernière version 3.12.0 ()[1],[2]Voir et modifier les données sur Wikidata
Dépôt github.com/Modernizr/ModernizrVoir et modifier les données sur Wikidata
Écrit en JavaScript
Système d'exploitation MultiplateformeVoir et modifier les données sur Wikidata
Environnement 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

Faruk Ateş a annoncé la création de Modernizr le [3]. La version 1.0 a été publiée le [4]. La version 2.0 a été publiée le [5].

Fonctionnalité modifier

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

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[Quand ?] pour confirmer la compatibilité avec le navigateur de BlackBerry 6 ou version ultérieure.

Références modifier

  1. « Release 3.12.0 », (consulté le )
  2. npmjs, (base de données en ligne), consulté le  
  3. (en)Proudly Announcing: Modernizr
  4. (en)Modernizr 1.0
  5. (en)Modernizr 2

Voir aussi modifier

Articles connexes modifier

Lien externe modifier