Heim >Web-Frontend >js-Tutorial >Wie kann ich die Internet Explorer-Nutzung in Ereignis-Listenern erkennen?
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.
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 });
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+ } });
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 }
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!