Internet Explorer 10 versucht nicht mehr, bedingte Kommentare zu lesen. Dies bedeutet, dass bedingte Kommentare wie jeder andere Browser behandelt werden: als normale HTML-Kommentare, die vollständig ignoriert werden sollen. Wenn Sie sich das in der Frage als Beispiel angegebene Markup ansehen, ignorieren alle Browser, einschließlich IE10, die grau hervorgehobenen Kommentarbereiche vollständig. Der HTML5-Standard erwähnt keine bedingte Kommentarsyntax, und genau aus diesem Grund haben sie beschlossen, die Unterstützung in IE10 einzustellen.
Beachten Sie jedoch, dass die bedingte Kompilierung in JScript weiterhin unterstützt wird, wie in den Kommentaren sowie in den neueren Antworten gezeigt. Im Gegensatz dazu wird es auch in der endgültigen Version nicht verschwindenjQuery.browser
. Und natürlich ist das Schnüffeln von Benutzeragenten nach wie vor fragil und sollte unter keinen Umständen verwendet werden.
Wenn Sie wirklich auf IE10 abzielen müssen, verwenden Sie entweder die bedingte Kompilierung, die möglicherweise in naher Zukunft noch unterstützt wird, oder - wenn Sie helfen können - eine Feature-Erkennungsbibliothek wie Modernizr anstelle (oder in Verbindung mit) der Browsererkennung. Sofern Ihr Anwendungsfall kein Noscript erfordert oder IE10 auf der Serverseite unterstützt, wird das Sniffing von Benutzeragenten eher Kopfschmerzen als eine praktikable Option sein.
Klingt ziemlich umständlich, aber denken Sie daran, dass Sie als moderner Browser, der den heutigen Webstandards 1 in hohem Maße entspricht, vorausgesetzt, Sie haben interoperablen Code geschrieben, der in hohem Maße Standards entspricht, keinen speziellen Code für IE10 beiseite legen müssen, es sei denn, dies ist unbedingt erforderlich. dh es soll in Bezug auf Verhalten und Rendering anderen Browsern ähneln. 2 Und es klingt angesichts der Geschichte des IE weit hergeholt, aber wie oft haben Sie erwartet, dass sich Firefox oder Chrome genauso verhalten, nur um mit Bestürzung konfrontiert zu werden?
- Firefox hat
box-sizing
jahrelang keine Vorfixierung unterstützt
- Firefox hatte historisch gesehen ein seltsames Umrissverhalten , und dies war auch jahrelang der Fall
- Firefox weigert sich, sich in Bezug auf positionierte Tabellenzellen vernünftig zu verhalten , und nennt undefiniertes Verhalten als Entschuldigung, während andere Browser anscheinend gut damit umgehen
- Safari und Chrome haben viele von Schwierigkeiten mit bestimmten CSS - Selektoren , manchmal mit Korrekturen , die Sie wirklich an den guten alten zurücknehmen‘Tage von IE5, IE6 und IE7
- Chrome scheint im Allgemeinen große Probleme mit der Neulackierung zu haben, z. B. wenn Layouts beim Aktualisieren von Medienstilen nicht korrekt ausgeführt werden. Es scheint, dass die Hälfte der Chrome-Fehler einfach und nur umgangen werden kann, indem ein Repaint erzwungen wird, wiederum IE5 / 6/7-Level-Material
- Es ist bekannt, dass einige Arten von WebKit geradezu über die Unterstützung bestimmter Funktionen lügen , was bedeutet, dass sie ausgerechnet Mechanismen zur Erkennung von Funktionen zunichte machen
Wenn Sie tun einen legitimen Grund müssen bestimmte Browser werden Targeting, mit allen Mitteln sie mit den anderen Tools , die Ihnen gegeben erschnüffeln. Ich sage nur, dass es Ihnen heute viel schwerer fallen wird, einen solchen Grund zu finden als früher, und darauf können Sie sich wirklich nicht verlassen.
1 Nicht nur IE10, sondern auch IE9 und sogar IE8, das den größten Teil des ausgereiften CSS2.1-Standards weitaus besser handhabt als Chrome, einfach weil IE8 so stark auf die Einhaltung von Standards ausgerichtet war (zu diesem Zeitpunkt war CSS2.1 mit nur geringen Unterschieden bereits ziemlich stabil nach der heutigen Empfehlung), während Chrome kaum mehr als eine halbglanzpolierte Tech-Demo modernster Pseudo-Standards zu sein scheint.
2 Und ich bin vielleicht voreingenommen, wenn ich das sage, aber es ist verdammt sicher. Wenn Ihr Code in anderen Browsern funktioniert, jedoch nicht im IE, ist die Wahrscheinlichkeit, dass es sich um ein Problem mit Ihrem eigenen Code und nicht mit IE10 handelt, weitaus besser als beispielsweise vor 3 Jahren mit früheren Versionen des IE. Auch hier bin ich vielleicht voreingenommen, aber seien wir ehrlich: Bist du nicht auch? Schauen Sie sich einfach Ihre Kommentare an.