Lors de l'association d'écouteurs d'événements à des éléments spécifiques, il peut être nécessaire de vérifier si l'utilisateur est vous utilisez actuellement Internet Explorer (IE) pour exécuter des actions particulières ou désactiver la fonctionnalité d'autres navigateurs. Cet article explore les méthodes pour y parvenir et propose des solutions pour différents scénarios.
Pour déterminer si l'événement a été déclenché dans IE, vous pouvez utiliser la propriété documentMode. Cette propriété est uniquement disponible dans IE et renvoie la version actuelle du moteur de rendu du navigateur. L'exemple de code suivant illustre cette approche :
$('.myClass').on('click', function(event) { //Abort the function if not in IE if (!document.documentMode) { return; } //Execute IE-specific actions here });
Dans les cas où vous avez uniquement besoin de vérifier les versions d'IE11 ou supérieures, vous pouvez utiliser la bibliothèque UAParser.js pour extraire des informations détaillées sur le navigateur de l'utilisateur, y compris sa version. Le code suivant illustre cette méthode :
$(document).ready(function() { //Parse user agent string to determine user's browser var parser = new UAParser(); var uaInfo = parser.getResult(); // Handle the event listeners based on the UA information if (uaInfo.browser.family === 'Microsoft Edge') { //Do something for IE } else if (uaInfo.browser.family === 'IE' && uaInfo.browser.major >= 11) { //Do something for IE11+ } });
Ces dernières années, le navigateur Microsoft Edge est passé à l'utilisation du moteur de rendu Chromium. Pour gérer Edge correctement dans vos vérifications, vous pouvez utiliser l'extrait de code suivant :
if (navigator.userAgent.includes('Edge')) { //Handle the Edge browser here }
Avant la transition Chromium, Edge présentait différents agents utilisateurs ( UA) chaînes. Voici une fonction qui peut toujours détecter IE11 et les versions antérieures :
function detectIE() { var ua = window.navigator.userAgent; var msie = ua.indexOf('MSIE '); var trident = ua.indexOf('Trident/'); //Return IE version or false based on the UA string if (msie > 0) { return parseInt(ua.substring(msie + 5, ua.indexOf('.', msie)), 10); } else if (trident > 0) { return parseInt(ua.substring(rv + 3, ua.indexOf('.', rv)), 10); } else { return false; } }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!