52 votes

Un moyen simple de vérifier si le caractère générique est pris en charge ?

Je veux utiliser le HTML5 "placeholder" dans mon code si le navigateur de l'utilisateur le prend en charge, sinon il suffit d'imprimer le nom du champ en haut du formulaire. Mais je veux seulement vérifier si le caractère générique est pris en charge et non la version/le nom du navigateur utilisé par l'utilisateur.

Donc, idéalement, je voudrais faire quelque chose comme

    <body>

     <script>

           if (placeholderIsNotSupported) {
             <b>Username</b>;
           } 
      </script>
    <input type = "text" placeholder ="Username">
</body>

Sauf que je ne suis pas sûr de la partie javascript. Toute aide est la bienvenue !

79voto

Trott Points 16299
function placeholderIsSupported() {
    var test = document.createElement('input');
    return ('placeholder' in test);
}

J'ai utilisé un Version jQuery-isée comme point de départ. (Je donne juste le crédit où il est dû.)

35voto

Nikita Gavrilov Points 267

Ou juste :

if (document.createElement("input").placeholder == undefined) {
    // Placeholder is not supported
}

6voto

beenhero Points 61

Si vous utilisez Modernizr, attrapez rapidement ce qui suit :

if(!Modernizr.input.placeholder){
  ...
}

3voto

mikel Points 10793

http://html5tutorial.info/html5-placeholder.php a le code pour le faire.

Si vous utilisez déjà jQuery, vous n'avez pas vraiment besoin de le faire. Il existe des plugins de remplacement ( http://plugins.jquery.com/plugin-tags/placeholder ) qui utilisera l'attribut HTML5 lorsque cela est possible, et Javascript pour le simuler dans le cas contraire.

2voto

Andrea Tamago Points 16

J'essaie de faire la même chose... ici j'ai écrit ceci

if(!('placeholder'in document.createElement("input"))){
   //... document.getElementById("element"). <-- rest of the code
}}

Avec cela, vous devriez avoir un id pour identifier l'élément avec le placeholder... Je ne sais pas si cela vous aide aussi à identifier l'élément SEULEMENT lorsque le placeholder n'est pas supporté.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X