jQuery : comment vérifier que l'utilisateur utilise Internet Explorer (IE), et ne pas exécuter la fonction si ce n'est pas le cas ?

Chaque navigateur possède son propre moteur JavaScript. C'est notamment le cas d'Internet Explorer qui, jusqu'à la version 9, avait une gestion particulière du JavaScript. Il est heureusement possible de détecter le navigateur utilisé pour afficher une page.

Pour détecter un navigateur, on se base sur son User Agent, qui est son code d'identification. Toutes les versions d'IE possèdent la chaîne "MSIE" dans leur User Agent. La seule exception est IE11, pour lequel la chaîne ne contient plus "MSIE" mais le nom du nouveau moteur du navigateur, "Trident". Voici un script permettant de détecter la version d'Internet Explorer utilisée :

function msieversion() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > -1 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // Si c'est Internet Explorer, affiche le numéro de version
alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));
else
alert("C'est un autre navigateur");
return false;
}

À partir de Windows 10, Microsoft va introduire un nouveau navigateur qui remplacera Internet Explorer, Edge. Pour détecter ce navigateur, il faudra simplement rechercher la chaîne "Edge" dans le User Agent.

JQuery