Quels navigateurs Web ne supporte pas le Javascript? Et comment identifier quel navigateur utilise le client?

Y at-il des navigateurs Web qui ne prennent pas en charge javascript? Et comment identifier si le client utilise un de ces navigateurs? Ou le client a-t-il désactivé javascript?

Y at-il des navigateurs Web qui ne prennent pas en charge javascript?

Bien sûr. Lynx n'est qu'un exemple.

Et comment identifier si le client utilise un de ces navigateurs?

Utilisation de la <noscript> pour fournir du contenu alternatif.

Ou le client a-t-il désactivé javascript?

Même réponse que précédemment: utiliser la <noscript> .

Vous ne devez jamais tester si un client utilise un navigateur X ou Y. Toujours effectuer la détection des fonctionnalités. Première étape: utilisez <noscript> pour fournir un contenu alternatif aux clients qui ne prennent pas en charge javascript. Ensuite, testez si le client prend en charge la fonctionnalité que vous souhaitez utiliser. Ne testez jamais si IE8 ou FF3 ou autre chose, …

Modernizr est un excellent cadre qui pourrait vous aider. Donc, si vous souhaitez utiliser certaines des nouvelles fonctionnalités cool HTML5, ne testez pas si le navigateur est une telle version: testez si le navigateur prend en charge la fonctionnalité que vous souhaitez utiliser.

Comme si vous travailliez avec CSS:

Beaucoup ajoutent la classe no-js dans la <html> comme …

 <html class="no-js"> 

Et ils remplacent no-js js par javascript plus tard, comme …

 <script> document.documentElement.className = document.documentElement.className.replace('no-js','js'); </script> 

Donc, lorsque le client a désactivé javascript.

Exemple d'utilisation:

HTML:

 <div class="test">This box with some JS function</div> 

CSS:

 .no-js .test {display:none;} 

Cacher cette boîte, lorsque le client a désactivé javascript.

ou..

HTML:

 <div class="alert">Please, turn you JS on!</div> 

CSS:

 .js .alert {display:none;} 

Masquer la boîte d'alerte lorsque JS est activé. Mais encore montrer quand JS si hors …

Ou faire quelque chose de plus … avec des classes no-js ou js

Si vous recherchez une balise HTML pour la détection:

Juste <noscript></noscript> comme un autre dire

Tous les principaux navigateurs modernes prennent en charge JavaScript. Il y a cependant quelques-uns qui ne le sont pas, mais avec une base d'utilisateurs incroyablement petite par rapport aux principaux. Certains utilisateurs peuvent désactiver JavaScript, auquel cas vous pouvez spécifier un contenu différent pour les utilisateurs utilisant les balises noscript .

Utilisez-vous un cadre javascript? (Jquery, prototype …) Ils peuvent résumer une grande partie des spécificités du navigateur.

Pour détecter le navigateur utilisateur, vous pouvez utiliser l'objet navigateur: http://www.javascriptkit.com/javatutors/navigator.shtml

Et, comme l'a souligné James et Darin, vous pouvez utiliser la <noscript> pour d'autres contenus.