Wie erkennt man IE11?
Wenn ich will, um zu erkennen, DH ich diesen code verwenden:
function getInternetExplorerVersion()
{
var rv = -1;
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 = "You're not using Internet Explorer.";
var ver = getInternetExplorerVersion();
if ( ver > -1 )
{
msg = "You are using IE " + ver;
}
alert( msg );
}
Aber IE11 ist wieder "Sie sind nicht mit Internet Explorer". Wie kann ich das erkennen?
InformationsquelleAutor der Frage | 2013-07-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
!(window.ActiveXObject) && "ActiveXObject" in window
zu erkennen, IE11 ausdrücklich.Erkennen IE (pre-Edge), "Trident") - version, verwenden Sie
"ActiveXObject" in window
statt.InformationsquelleAutor der Antwort mcw0933
Verwenden
MSInputMethodContext
als Teil einer feature-Erkennung überprüfen. Zum Beispiel:Referenzen
InformationsquelleAutor der Antwort Paul Sweatte
Gelesen habe ich Eure Antworten und machte eine Mischung. Es scheint zu funktionieren mit Windows XP(IE7/IE8) und Windows 7 (IE9/IE10/IE11).
Natürlich, wenn ich eine 0 zurück, bedeutet das nicht, DH.
InformationsquelleAutor der Antwort Fabio
IE-Version aus dem User-Agent
Wie es funktioniert: Die Benutzer-agent-Zeichenfolge für alle IE-Versionen umfasst einen Teil "MSIE Raum version" oder "Trident anderen-text rv Leerzeichen-oder Doppelpunkt version". Dies zu wissen, wir nehmen die Versionsnummer aus einer
String.match()
regulären Ausdruck. Eintry-catch
- block wird verwendet, verkürzt den code, sonst würden wir uns für den test brauchen die array-Grenzen, die für nicht-IE-Browser.Hinweis: Den user-agent manipuliert werden können oder weggelassen werden, manchmal unbeabsichtigt, wenn der Benutzer Ihren browser so einstellen, um einen "compatibility mode". Obwohl dies nicht scheinen, wie viel von einem Problem in der Praxis.
IE-Version ohne den User-Agent
Wie es funktioniert: Jede version von IE fügt Unterstützung für zusätzliche Funktionendie nicht in früheren Versionen. So können wir testen, für die Funktionen in einer top-down Weise. Ein ternäre Sequenz verwendet wird hier der Kürze wegen, obwohl
if-then
undswitch
Aussagen würde genauso gut funktionieren. Die variableie
eine ganze Zahl 5-11, oder 1 für ältere, oder 99 für neuere/non-IE. Sie können setzen Sie ihn auf 0, wenn Sie nur wollen, um zu testen, DH 1-11 genau.Hinweis: Objekterkennung kann brechen, wenn dein code auf einer Seite mit third-party-scripts, das hinzufügen von polyfills für Dinge wie
document.addEventListener
. In solchen Situationen ist der user-agent ist die beste option.Erkennen, ob der Browser ist Modern
Wenn man nur daran interessiert, ob oder ob nicht ein browser-unterstützt die meisten HTML-5 und CSS-3-standards, können Sie davon ausgehendass der IE 8 und der untere bleibt das primäre problem apps. Tests für
window.getComputedStyle
geben Ihnen einen ziemlich guten mix von modernen Browsern (IE 9, FF 4, Chrome 11, Safari 5, Opera 11.5). IE-9 verbessert sich auf standards zu unterstützen, sondern native CSS-animation erfordert IE 10.InformationsquelleAutor der Antwort Beejor
Angular JS funktioniert auf diese Weise.
msie werden positive Zahl, wenn Sie Ihren IE und NaN für andere browser wie chrome,firefox.
warum ?
Als der Internet Explorer 11, der user-agent-string hat sich deutlich verändert.
beziehen :
msdn #1
msdn #2
InformationsquelleAutor der Antwort Vishal Sharma
Verwende ich eine einfachere Methode:
Navigator global-Objekt hat eine Eigenschaft touchpoints, im Internet Exlorer 11 heißt msMaxTouchPoints tho.
Also, wenn Sie schauen für:
Finden Sie Internet Explorer 11.
InformationsquelleAutor der Antwort Dvid Silva
InformationsquelleAutor der Antwort areschen
Versuchen Sie Dies:
InformationsquelleAutor der Antwort Krunal
Dies scheint eine bessere Methode. "indexOf" gibt -1 zurück, wenn nichts vorliegt. Es muss nicht überschreiben bereits vorhandener Klassen auf den Körper, so fügt Sie hinzu.
InformationsquelleAutor der Antwort joe
Erkennen die meisten Browser mit diesem:
https://gist.github.com/earlonrails/5266945
InformationsquelleAutor der Antwort earlonrails
Benutzte ich die
onscroll
- event auf dem element mit der Bildlaufleiste. Wenn ausgelöst, im IE, Hinzugefügt habe ich die folgende überprüfung:InformationsquelleAutor der Antwort Martin
Ehrlich gesagt würde ich sagen, verwenden Sie eine Bibliothek, die das tut, was Sie brauchen (wie platform.js für Beispiel). Irgendwann werden sich die Dinge ändern und die Bibliothek ausgerüstet, die für diese änderungen und die manuelle Analyse mit regulären Ausdrücken, wird scheitern.
Gott sei Dank IE geht Weg...
InformationsquelleAutor der Antwort Matthias Hryniszak