489 Stimmen

Überprüfen, ob der Benutzer IE verwendet

Ich rufe eine Funktion wie die folgende auf, indem ich auf Divs mit einer bestimmten Klasse klicke.

Gibt es eine Möglichkeit zu überprüfen, wenn die Funktion gestartet wird, ob ein Benutzer Internet Explorer verwendet und sie abzubrechen / abzubrechen, wenn sie andere Browser verwenden, sodass sie nur für IE-Benutzer ausgeführt wird? Die Benutzer hier wären alle auf IE8 oder höheren Versionen, sodass ich IE7 und ältere Versionen nicht abdecken müsste.

Wenn ich sagen könnte, welchen Browser sie verwenden, wäre das großartig, aber nicht erforderlich.

Beispiel Funktion:

$('.myClass').on('click', function(event)
{
    // meine Funktion
});

31voto

ThisClark Punkte 13169

So macht es das Angularjs-Team (v 1.6.5):

var msie, // hält die Hauptversionsnummer für den IE oder NaN, wenn die UA nicht der IE ist.

// Unterstützung: Nur IE 9-11
/**
 * documentMode ist eine IE-spezifische Eigenschaft
 * http://msdn.microsoft.com/en-us/library/ie/cc196988(v=vs.85).aspx
 */
msie = window.document.documentMode;

Dann gibt es mehrere Zeilen Code, die es als Zahl verwenden, wie zum Beispiel

if (event === 'input' && msie <= 11) return false;

und

if (enabled && msie < 8) {

18voto

kenan238 Punkte 398

Sie können dies einfach tun:

var isIE = window.document.documentMode ? true : false; // Diese Variable wird festhalten, ob der aktuelle Browser IE ist

Ich weiß, die Frage ist alt, aber wenn jemand so weit gescrollt ist, kann er die einfache Antwort sehen :)

10voto

Aamir Shahzad Punkte 6247

Methode 01:
$.browser wurde in jQuery-Version 1.3 veraltet und in 1.9 entfernt.

if ( $.browser.msie) {
  alert( "Hallo! Dies ist der IE." );
}

Methode 02:
Verwendung von bedingten Kommentaren

Sie verwenden nicht Internet Explorer.

Methode 03:

 /**
 * Liefert die Version von Internet Explorer oder -1 zurück
 * (was die Verwendung eines anderen Browsers anzeigt).
 */
function getInternetExplorerVersion()
{
    var rv = -1; // Der Rückgabewert geht von einem Fehler aus.

    if (navigator.appName == 'Microsoft Internet Explorer')
    {
        var ua = navigator.userAgent;
        var re  = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
        if (re.exec(ua) != null)
            rv = parseFloat( RegExp.$1 );
    }

    return rv;
}

function checkVersion()
{
    var msg = "Sie verwenden nicht Internet Explorer.";
    var ver = getInternetExplorerVersion();

    if ( ver > -1 )
    {
        if ( ver >= 8.0 ) 
            msg = "Sie verwenden eine aktuelle Version von Internet Explorer."
        else
            msg = "Sie sollten Ihre Version von Internet Explorer aktualisieren.";
    }

    alert( msg );
}

Methode 04:
Verwenden von JavaScript/Manuelle Erkennung

/*
     Internet Explorer Erkennungscode zum Hinzufügen einer Klasse zum body-Tag für die IE-Version.
     Kann entfernt werden, wenn Sie etwas wie Modernizr verwenden.
 */
 var ie = (function ()
 {

     var undef,
     v = 3,
         div = document.createElement('div'),
         all = div.getElementsByTagName('i');

     while (
     div.innerHTML = '',
     all[0]);

     //Klasse zum body hinzufügen für die Browserunterstützung
     if (v > 4)
     {
         $('body').addClass('ie' + v);
     }

 }());

Referenzlink

10voto

gdibble Punkte 1055

Mit den oben genannten Antworten; einfach & kondensiert boolean zurückgeben:

var isIE = /(MSIE|Trident\/|Edge\/)/i.test(navigator.userAgent);

9voto

Bill_VA Punkte 813

Ich wollte nur überprüfen, ob der Browser IE11 oder älter ist, weil nun ja, sie sind Mist.

function isCrappyIE() {
    var ua = window.navigator.userAgent;
    var crappyIE = false;
    var msie = ua.indexOf('MSIE ');
    if (msie > 0) {// IE 10 oder älter => Versionsnummer zurückgeben
        crappyIE = true;
    }
    var trident = ua.indexOf('Trident/');
    if (trident > 0) {// IE 11 => Versionsnummer zurückgeben
        crappyIE = true;
    }
    return crappyIE;
}   

if(!isCrappyIE()){console.table('kein schlechter Browser);}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X