Warum mit Fenster.navigator.userAgent zum abrufen der browser Explorer 11 ist anerkannt als Mozilla? Wie abrufen der user angent und version?
Ich bin ziemlich neu in JavaScript und JQuery, und ich bin verrückt zu versuchen, ein einfaches Skript, das erkennt, ob der browser Internet Explorer und seine version.
So bin ich etwas wie dieses:
$( document ).ready(function() {
//alert(navigator.appName);
//alert(navigator.appCodeName);
//alert(navigator.appVersion);
//alert(navigator.platform);
//alert(window.navigator.userAgent);
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
console.log("USER AGENT: " + ua);
console.log("MSIE: " + msie);
});
Das problem ist, dass die Ausführung der Seite in Explorer 11 in der Konsole bekomme diese Meldungen:
USER AGENT: Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; InfoPath.3; GWX:QUALIFIED; ASU2JS; rv:11.0) like Gecko
MSIE: -1
Wie ist es möglich, dass es erkannt wird, wie Mozilla und nicht IE?
Brauche ich, um zu erkennen, ob der browser Internet Explorer und dessen version.
Wie kann ich diese operation?
- Der Motor ist
Trident/7.0
, aber check für feature-Unterstützung nicht, was der browser meldet ist es
Du musst angemeldet sein, um einen Kommentar abzugeben.
Laut Microsoft, IE11 user-agent-string ist speziell entworfen, um trick-UA-Parser zu erkennen, es als etwas anderes.
Quelle: http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx
Werde ich dies wiederholen, auch wenn es erwähnt wird in dem Artikel oben. Wenn du möchtest, dass UA-sniffing, bitte zweimal überlegen. Feature-Erkennung ist die empfohlene Methode zum Umgang mit browser-Kompatibilität. Siehe den Artikel für weitere auf dieser.
IE 11 brach alle client-side check-Skripte mit der Veröffentlichung. Als Sie sagte, es meldet sich als "Mozilla" und nicht mehr die Berichte der MSIE. Soweit ich mich erinnere, die Entscheidung, die Sie nahm war, das zu tun, weil IE11 soll basieren auf der Gecko engine, im Gegensatz zu Mozilla. Um dies zu veranschaulichen, hat Microsoft entschieden, um den Benutzer-Agent-string etwas anderes. Der beste Weg den ich kenne um zu testen, IE11, ist zu prüfen, für "Trident/7.0" soll informiert werden, indem alle IE11 Browser.
Sowieso, wie viele empfehlen werden, ist es besser, zu prüfen, für Funktionalitäten, die anstatt auf browser überprüfen.
Versuchen Sie bitte folgenden code.