(niveau intermédiaire)
Il est possible de connaître la version d’Internet Explorer en Javascript en utilisant le User Agent. Cependant, IE8, lorsqu’il est en mode compatibilité, va retourner IE7 quand on l’interroge. Cela peut poser problème. Il existe une solution qui permet de détecter IE8 même dans ce mode spécial, et sans utiliser les commentaires conditionnels :
// retourne un entier (5, 6, 7 ou 8), ou false si ce n'est pas IE function getIEVersion() { if (!!(window.attachEvent && navigator.userAgent.indexOf('Opera') === -1)) { var ver = navigator.userAgent.match(/MSIE ([0-9.]+);/); if (ver != null && ver[1] != undefined) { ver = parseInt(ver[1]); if (ver == 7) { if (typeof (window.external.AddToFavoritesBar) != "undefined" || typeof (window.external.AddService) != "undefined" || typeof (window.external.AddService) != "undefined") return 8; } return ver; } } return false; }