102 votes

Comment est-ce que je détecte IE 8 avec jQuery?

Je dois détecter non seulement le type de navigateur mais aussi la version en utilisant jQuery. Je dois surtout savoir si c'est IE 8 ou non.

Je ne sais pas si je le fais correctement.

Si je fais :

 if (jQuery.browser.version >= 8.0) {
dosomething}
 

Je ne suis pas sûr que cela fonctionnera pour la version 8.123.45.6 ou le fera-t-il?

172voto

meo Points 10534

Je pense que le meilleur moyen serait ceci:

À partir de HTML5:

 <!--[if lt IE 7]> <html lang="en-us" class="no-js ie6 oldie"> <![endif]-->
<!--[if IE 7]>    <html lang="en-us" class="no-js ie7 oldie"> <![endif]-->
<!--[if IE 8]>    <html lang="en-us" class="no-js ie8 oldie"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en-us" class="no-js"> <!--<![endif]-->
 

dans JS:

 if( $("html").hasClass("ie8") ) { /* do your things */ };
 

d'autant plus que $.browser a été supprimé de jQuery 1.9+.

88voto

Mithun Points 9971

Cela devrait fonctionner pour toutes les versions mineures d'IE8

 if ($.browser.msie  && parseInt($.browser.version, 10) === 8) {
  alert('IE8'); 
} else {
  alert('Non IE8');
}
 

-- mettre à jour

Veuillez noter que $ .browser est supprimé de jQuery 1.9

79voto

AndiDog Points 28417

Il est documentée dans la Documentation de l'API de jQuery. Vérifiez pour Internet Explorer avec l' $.browser.msie puis de vérifier sa version avec $.browser.version.

Mise à JOUR: $.navigateur supprimé en jQuery 1.9

Le jQuery.navigateur() la méthode a été abandonné depuis jQuery 1.3 et est éliminé dans les 1.9. Si nécessaire, il est disponible en tant que partie de l'jQuery Migrate plugin. Nous vous recommandons d'utiliser la détection de fonctionnalité avec une bibliothèque comme Modernizr.

56voto

TheBuzzSaw Points 4896

N'oubliez pas que vous pouvez également utiliser HTML pour détecter IE8.

 <!--[if IE 8]>
<script type="text/javascript">
    ie = 8;
</script>
<![endif]-->
 

Avoir cela avant tous vos scripts vous permettra juste de vérifier la variable "ie" ou autre.

27voto

kennebec Points 33886

document.documentMode n'est pas défini si le navigateur n'est pas IE8,

il retourne 8 pour le mode standard et 7 pour «compatible avec IE7»

S'il fonctionne sous IE7, de nombreuses fonctionnalités CSS et dom ne seront pas prises en charge.

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