Wie kann ich feststellen, welche Version von IE ein Benutzer in JavaScript ausführt?
In einigen bestehenden code gibt es einen test, um zu sehen, wenn der Benutzer ausgeführt wird, DH, indem überprüft wird, ob der Objekt-Browser.Motor.trident definiert ist und gibt true zurück.
Aber wie kann ich ermitteln, ob der Benutzer läuft der IE6 (oder älter) oder IE7 (oder höher)?
Den test benötigt wird, innerhalb einer JavaScript-Funktion, so dass Sie einen bedingten Kommentar scheint nicht geeignet.
InformationsquelleAutor der Frage | 2008-11-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vom Erkennung von Internet Explorer Mehr Effektiv auf msdn:
InformationsquelleAutor der Antwort kmilo
Wenn Sie wirklich wollen, um sicher zu sein Sie sind mit IE und einer bestimmten version, dann könntest du offensichtlich den IE nutzen s conditional tags zum ausführen nur bestimmter code, der im IE. Es ist nicht wirklich hübsch, aber zumindest können Sie sicher sein, dass es wirklich der IE und nicht eine gefälschte version.
Es ist ziemlich selbsterklärend. Im IE6
isIE
isttrue
undversion
ist6
Im IE7isIE
isttrue
undversion
ist7
sonstisIE
ist falsch undversion
ist-1
Alternativ könnte man nur Rollen Sie Ihre eigene Lösung mit code plagarised von jQuery.
InformationsquelleAutor der Antwort James Hughes
Wenn Sie bereits über jQuery in einer pre-1.9-version, UND Sie nicht brauchen, um festzustellen, IE 11, können Sie dies tun:
InformationsquelleAutor der Antwort Nick Berardi
Das Navigator-Objekt enthält alle Informationen über den browser des Benutzers:
zB:
var browser=navigator.appName;
var b_version=navigator.appVersion;
var version=parseFloat(b_version);
Finden Sie unter:
http://www.w3schools.com/js/js_browser.asp
InformationsquelleAutor der Antwort Winston Smith
Wenn Sie die überprüfung für eine bestimmte Funktionalität, die Sie überprüfen sollten, für die es direkt, z.B.
if (window.focus) {window.focus();}
Browser-Erkennung ist nie zuverlässig genug.Weitere details über die Objekt-vs. browser-Erkennung, schauen Sie sich diese Artikel bei Quirksmode.
Auf der anderen Seite, wenn die Funktion, die Sie brauchen, IST der browser-Typ und version, z.B. für statistische Zwecke, gehen mit
navigator.appName
undnavigator.appVersion
. (Aber Vorsicht - viele weniger populäre Browser tarnen sich als MSIE 6 oder 7, da bestimmte Websites blockieren alles, was nicht IE auf der Prämisse, dass "alle modernen Browser sind IE, richtig?" (Tipp: nicht mehr).)InformationsquelleAutor der Antwort Piskvor
Also der IE8-compatibility-view-Modus meldet sich als IE7, obwohl Sie nicht immer dasselbe Verhalten. Und dafür schenke ich dir dieses monster:
InformationsquelleAutor der Antwort Mike Ruhlin
Dies ist wahrscheinlich to get gewählt, weil es nicht direkt mit der Beantwortung der Frage, aber... Man sollte nicht schreiben browser-spezifischen code. Es gibt sehr wenig kann man nicht tun, während die Codierung für die meisten weithin akzeptierte Browser.
EDIT: Das einzige mal, dass ich es für sinnvoll, bedingte Kommentare war, als ich brauchte, um zu zählen ie6.css oder ie7.css.
InformationsquelleAutor der Antwort Kon
Gut... hier ist was ich kam nach denken für eine Weile. wollte nur eine einfache Lösung.
Gibt es ab:- MSIE 10.0, "MSIE 9.0", "MSIE 8.0"
weiter verlängern, wenn Sie möchten, zu prüfen, ob es "geringer als" oder "größer als" IE-version, können Sie leicht ändern
habe die base-Idee von w3schoolshoffe das wird einigen helfen... 😀
InformationsquelleAutor der Antwort Jerad Rutnam
Dies ist das Skript, das ich benutze, und es scheint zu funktionieren gut genug:
Hoffe, das hilft jemand...
InformationsquelleAutor der Antwort Jason Bunting
Dies sollte Ihnen mehr details als Sie wollen:
InformationsquelleAutor der Antwort Illandril
Da niemand zu haben scheint, sagte er noch:
Können Sie einfach einen bedingten Kommentar ein JScript conditional comment, kein HTML-ein — inside-Funktion:
Es ist eher typisch für den test einmal auf globaler Ebene aber, und überprüfen Sie die gespeicherten flags danach.
CCs sind zuverlässiger als Sichtung durch das Chaos, dass die Benutzer-Agent-Zeichenfolge geworden in diesen Tagen. String-matching-Methoden auf navigator.userAgent kann dazu spoofing-Browser wie Opera.
Natürlich die Fähigkeit, schnüffeln ist viel besser für cross-browser-code, wo es möglich ist, aber für einige Fälle — in der Regel Bugfix-workarounds — Sie brauchen, um zu identifizieren, IE spezifisch, und CCs sind wahrscheinlich der beste Weg zu tun, dass heute.
InformationsquelleAutor der Antwort bobince
InformationsquelleAutor der Antwort user3415643