Comment détecter IE7 avec jQuery en utilisant éventuellement jQuery.browser?
J'ai une méthode
if ($.browser.msie && parseInt($.browser.version, 10) === 7) {
alert('IE7');
} else {
alert('Non IE7');
}
-- mise à jour
Veuillez noter que $. Browser est supprimé de jQuery 1.9
Voir $. Browser . Cette fonctionnalité est obsolète et vous devriez plutôt considérer $. Support .
Pour répondre à la question, il s'agit d'une technique solide comme un roc principalement pour une utilisation dans les feuilles de style, mais peut également être utilisée facilement pour vérifier la version du navigateur, ou mieux encore une partie d'un sélecteur.
Utilisez le balisage suivant (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>
Utiliser un sélecteur avec hasClass dans jQuery
$('html').hasClass('ie7');
$('html.ie7 .myclass').dostuff();
Et utiliser dans le cadre d'un sélecteur normal en CSS
.mydiv {max-height:50px}
.ie6 .mydiv {height:50px} /* ie6 max-height fix */
Toutes autres choses considérées:
if ($.browser.msie && $.browser.version == 7) {
//do something
};
Devrait marcher. Que ce soit ou non la bonne façon de procéder est une autre question.