Heim >Web-Frontend >js-Tutorial >Wie kann ich die Internet Explorer-Nutzung in Ereignis-Listenern erkennen?

Wie kann ich die Internet Explorer-Nutzung in Ereignis-Listenern erkennen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-25 16:59:12520Durchsuche

How Can I Detect Internet Explorer Usage Within Event Listeners?

Ermitteln der Internet Explorer-Nutzung in Ereignis-Listenern

Einführung

Beim Anhängen von Ereignis-Listenern an bestimmte Elemente muss möglicherweise überprüft werden, ob der Benutzer dies tut Verwenden Sie derzeit den Internet Explorer (IE), um bestimmte Aktionen auszuführen oder die Funktionalität für andere Browser zu deaktivieren. Dieser Artikel untersucht Methoden, um dies zu erreichen, und bietet Lösungen für verschiedene Szenarien.

Erkennen der IE-Verwendung in Ereignisfunktionen

Um festzustellen, ob das Ereignis innerhalb des IE ausgelöst wurde, können Sie die Eigenschaft documentMode verwenden. Diese Eigenschaft ist nur im IE verfügbar und gibt die aktuelle Version der Rendering-Engine des Browsers zurück. Das folgende Codebeispiel demonstriert diesen Ansatz:

$('.myClass').on('click', function(event) {
  //Abort the function if not in IE
  if (!document.documentMode) {
    return;
  }

  //Execute IE-specific actions here
});

Überprüfen bestimmter IE-Versionen

In Fällen, in denen Sie nur nach IE11 oder höheren Versionen suchen müssen, können Sie dazu die Bibliothek UAParser.js verwenden Extrahieren Sie detaillierte Informationen über den Browser des Benutzers, einschließlich seiner Version. Der folgende Code veranschaulicht diese Methode:

$(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+
  }
});

Überlegungen zum Edge-Browser

In den letzten Jahren ist der Microsoft Edge-Browser auf die Verwendung der Chromium-Rendering-Engine umgestiegen. Um Edge bei Ihren Prüfungen korrekt zu handhaben, können Sie das folgende Code-Snippet verwenden:

if (navigator.userAgent.includes('Edge')) {
  //Handle the Edge browser here
}

Legacy-Ansatz (Pre-Chromium Edge)

Vor dem Chromium-Übergang zeigte Edge einen anderen Benutzeragenten ( UA)-Saiten. Hier ist eine Funktion, die IE11 und ältere Versionen weiterhin erkennen kann:

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;
  }
}

Das obige ist der detaillierte Inhalt vonWie kann ich die Internet Explorer-Nutzung in Ereignis-Listenern erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn