46 votes

Comment détecter IE7 avec jQuery?

Comment détecter IE7 avec jQuery, éventuellement à l'aide de jQuery.navigateur?

70voto

Mithun Points 9971

A obtenu une méthode

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

-- mise à jour

Veuillez noter que l' $.navigateur est retiré de jQuery 1.9

52voto

James Westgate Points 6789

Voir $.le navigateur. Cette fonctionnalité a été supprimée et vous devriez envisager de $.appui à la place.

Pour répondre à la question, c'est un rock solide technique principalement pour une utilisation dans les feuilles de style, mais peut également être utilisé facilement pour vérifier la version de votre navigateur, ou mieux encore partie d'un sélecteur.

  1. Utiliser la balise suivante (à partir de HTML5 Boilerplate)

    <!--[if lt IE 7]><html class="ie6"><![endif]-->
    <!--[if IE 7]><html class="ie7"><![endif]-->
    <!--[if IE 8]><html class="ie8"><![endif]-->
    <!--[if gt IE 8]><!--><html><!--<![endif]-->
    <head>
    
  2. Utilisez un sélecteur avec hasClass en jQuery

    $('html').hasClass('ie7');
    $('ie7 mydiv.myclass').dostuff();
    
  3. Et de les utiliser dans le cadre d'un sélecteur css

    .mydiv {max-height:50px}
    .ie6 .mydiv {height:50px} /* ie6 max-height fix */
    

8voto

Nils Points 292

Toutes choses considérées:

if ($.browser.msie && $.browser.version == 7) {

    //do something

    };

Devrait fonctionner. Si oui ou non il est la bonne façon de faire les choses est une autre question.

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