Je veux vérifier si le navigateur qui exécute ma page est capable de gérer le 'espace réservé html 5'

Je sais que je peux ajouter la vérification javascript suivante:

!Modernizr.input.placeholder

Mais vaut-il la peine d'importer une bibliothèque pour une seule vérification?

Aussi comment modernizr fait-il cela pour moi (je veux dire comment est-il mis en œuvre sous le couvert)?

9
Zo72 4 nov. 2011 à 17:46

4 réponses

Meilleure réponse

Si vous souhaitez vérifier la prise en charge de placeholder, alors tout ce que vous devez faire est;

var placeholderSupport = "placeholder" in document.createElement("input");

Et pour répondre à votre autre question; non , il n'y a absolument aucun intérêt à inclure toute la bibliothèque Modernizr pour 1 ligne de JS (Modernizr fait plus de 1000 lignes .... allez comprendre:)) *

* Oui, pas minifié, mais le concept reste

9
Matt 4 nov. 2011 à 13:49

Vous pouvez simplement obtenir ce dont vous avez besoin de modernizr en sélectionnant simplement "Attributs d'entrée" par exemple et générer une build

http://www.modernizr.com/download/

7
Marty 4 nov. 2011 à 13:52

Trouvé ceci: http://davidwalsh.name/html5-placeholder

Code:

function hasPlaceholderSupport() {
  var input = document.createElement('input');
  return ('placeholder' in input);
}

Il existe également une solution de secours, en cliquant sur le lien

1
sascha 4 nov. 2011 à 13:48

C'est open-source. Allez le lire.

Modernizr['input'] = (function( props ) {
  for ( var i = 0, len = props.length; i < len; i++ ) {
    attrs[ props[i] ] = !!(props[i] in inputElem);
  }
  return attrs;
})(('autocomplete autofocus list placeholder max min ' +
    'multiple pattern required step').split(' '));
3
mqp 4 nov. 2011 à 13:47