Trouver le type et la version du navigateur?

Quelqu’un connaît-il un moyen fiable et efficace de connaître le type et la version d’un navigateur installé sur le client en utilisant JavaScript / jQuery?

On dirait que jQuery possède des fonctions intégrées, mais il a des problèmes pour détecter Chrome. Un autre moyen fiable de le faire?

Si vous voulez des informations sur le navigateur utilisé par votre visiteur et que vous les utilisiez pour des statistiques ou pour afficher des informations à l’utilisateur, vous pouvez utiliser le plug-in de navigateur jQuery .

Il vous donne un object en javascript contenant toutes les informations sur le navigateur utilisé.

Veillez à effectuer la détection de fonctionnalité au lieu de la détection de navigateur lorsque vous souhaitez déterminer si une fonctionnalité donnée est disponible dans un navigateur, appliquer des corrections de bugs, etc.

Pas besoin de réinventer la roue.

Approche 1:
Remarque: Depuis JQuery 1.3, jQuery.browser est obsolète.

Essaye ça :

       

Browser info: (key : value)


Approche 2:

// A quick solution without using regexp (to speed up a little). var userAgent = navigator.userAgent.toSsortingng().toLowerCase(); if ((userAgent.indexOf('safari') != -1) && !(userAgent.indexOf('chrome') != -1)) { alert('We should be on Safari only!'); }
// A quick solution without using regexp (to speed up a little). var userAgent = navigator.userAgent.toSsortingng().toLowerCase(); if ((userAgent.indexOf('safari') != -1) && !(userAgent.indexOf('chrome') != -1)) { alert('We should be on Safari only!'); } 

Puisque $.browser est supprimé de jQuery 1.9, utilisez ceci:

 // ---------------------------------------------------------- // A short snippet for detecting versions of IE in JavaScript // without resorting to user-agent sniffing // ---------------------------------------------------------- // If you're not in IE (or IE version is less than 5) then: // ie === undefined // If you're in IE (>=5) then you can determine which version: // ie === 7; // IE7 // Thus, to detect IE: // if (ie) {} // And to detect the version: // ie === 6 // IE6 // ie > 7 // IE8, IE9 ... // ie < 9 // Anything less than IE9 // ---------------------------------------------------------- // UPDATE: Now using Live NodeList idea from @jdalton var ie = (function(){ var undef, v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i'); while ( div.innerHTML = '', all[0] ); return v > 4 ? v : undef; }());