Erkennen von IE11 mit CSS-Fähigkeit / Feature-Erkennung
IE10+ nicht mehr unterstützt browser-Erkennung-tags zu identifizieren, die ein browser.
Zur Erkennung IE10 bin ich mit JavaScript eine Funktion-Prüftechnik, zu erkennen, bestimmte ms
Präfix Stile definiert sind, wie msTouchAction
und msWrapFlow
.
Möchte ich das gleiche tun für den IE11, aber ich gehe davon aus, dass alle die IE10-Stile werden unterstützt, IE11 als auch. Kann mir jemand helfen identifizieren IE11 nur styles oder Funktionen, die ich verwenden könnte, zu sagen, die beiden auseinander?
Extra Info
- Ich nicht wollen, verwenden Sie den Benutzer-Agent-Typ-Erkennung, weil es so fleckig aus, und kann geändert werden, sowie ich glaube, ich habe gelesen, dass IE11 ist absichtlich versuchen, um die Tatsache zu verbergen, es ist Internet Explorer.
- Ein Beispiel dafür, wie der IE10-Fähigkeit testen funktioniert, habe ich dieses JsFiddle (nicht von mir) als Grundlage für meine Prüfung.
- Auch ich erwarte eine Menge Antworten von "Das ist eine schlechte Idee...". Einer meiner braucht für diese ist, dass IE10 behauptet, dass es etwas unterstützt, aber es ist sehr schlecht umgesetzt und ich möchte in der Lage sein, zu differenzieren zwischen IE10 und IE11+ so kann ich bewegen sich mit einem capability-basierten Nachweisverfahren in der Zukunft.
- Dieser test ist gekoppelt mit Modernizr zu testen, machen Sie einfach einige Funktionen "fallback" auf weniger glamourös Verhalten. Wir sprechen hier nicht über wichtige Funktionen.
AUCH ich bin schon mit Modernizr, aber es hilft hier nicht. Ich brauche Hilfe für eine Lösung auf meine klar gestellte Frage bitte.
InformationsquelleAutor der Frage Evildonald | 2013-09-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im Licht der sich entwickelnden thread habe ich aktualisiert, unter:
IE 6
oder
IE 7
oder
IE 6 und 7
oder
oder
IE 6, 7 und 8
IE 8
oder
IE 8-Standards-Modus Nur
IE 8,9 und 10
IE 9 nur
IE 9 und höher
IE 9 und 10
IE 10 nur
IE 10 und höher
oder
Den Einsatz von
-ms-high-contrast
bedeutet, dass MS Edge nicht angegriffen werden, als Edge nicht unterstützt-ms-high-contrast
.IE 11
Javascript-alternativen
Modernizr
User-agent-Auswahl
Javascript:
Hinzufügt (e ist.g) den unten
html
element:Ermöglicht sehr gezielte CSS-Selektoren, z.B.:
Fußnote
Wenn möglich, zu identifizieren und zu beheben jedes Problem(s) ohne hacks. Unterstützung progressive enhancement und graceful degradation. Dies ist jedoch eine 'heile Welt' - Szenario nicht immer erhältlich, als solche - das soll helfen, einige gute Möglichkeiten.
Attribution /Pflichtlektüre
InformationsquelleAutor der Antwort SW4
fügen Sie alle Ihre Klassen oder CSS-Eigenschaften.
InformationsquelleAutor der Antwort Apps Tawale
Diese scheint zu funktionieren:
https://www.limecanvas.com/css-hacks-for-targeting-ie-10-and-above/
InformationsquelleAutor der Antwort geoff
Dieser arbeitete für mich
Und dann in der css-Datei Dinge vorangestellt
Wann wird dieser browser bereit zu sterben?
InformationsquelleAutor der Antwort Bert Oost
Werfen Sie einen Blick auf diese Artikel: CSS: User-Agent Selektoren
Grundsätzlich, wenn Sie dieses Skript verwenden:
Nun können Sie CSS verwenden, um beliebige browser /version.
Also für IE11 wir könnten dies tun:
FIDDLE
InformationsquelleAutor der Antwort Danield
Hier ist eine Antwort für 2017, wo Sie wahrscheinlich nur die Sorge um die Unterscheidung <=IE11 von >IE11 ("Edge"):
Mehr anschauliches Beispiel:
Dies funktioniert, da IE11 nicht eigentlich sogar unterstützen
@supports
und alle anderen relevanten browser/version-Kombinationen tun.Es ist auch wahrscheinlich, dass einige
-ms-foo
Eigentum, IE11 unterstützt, aber >IE11 nicht unterstützt gibt es auch, in dem Fall könnten Sie@supports (--what: evr) { }
direkt Ziel IE11 allein, anstatt über die Verwendung des oben genannten überschreiben.InformationsquelleAutor der Antwort Jan Kyu Peblik
Sollten Sie mit Modernizr, es wird zum hinzufügen einer Klasse zum body tag.
auch:
Beachten Sie, dass IE11 ist immer noch in der Vorschau, und den user-agent ändern kann, vor release.
Den Benutzer-agent-Zeichenfolge für Internet Explorer 11 ist derzeit dieses :
Was bedeutet, dass Ihr können einfach testen, für die Versionen 11.xx,
InformationsquelleAutor der Antwort Neo
Vielleicht Layout-Engine v0.7.0 ist eine gute Lösung für Ihre situation. Es nutzt browser-feature-Erkennung und kann nicht nur die Erkennung von IE11 und IE10, aber auch IE9, IE8 und IE7. Es erkennt auch andere populäre Browser, darunter auch einige mobile Browser. Es fügt eine Klasse, die html-Tags, ist einfach zu bedienen, und es ist gut durchgeführt, die unter einigen ziemlich tiefen testen.
http://mattstow.com/layout-engine.html
InformationsquelleAutor der Antwort Talkingrock
Wenn Sie Modernizr - dann können Sie ganz einfach differntiate zwischen IE10 und IE11.
IE10 nicht unterstützt die
pointer-events
Eigenschaft. IE11 macht. (caniuse)Nun, basierend auf der Klasse, die Modernizr fügt haben, könnten Sie den folgenden CSS:
InformationsquelleAutor der Antwort Danield
Können Sie js und fügen Sie eine Klasse in html-zu erhalten, den standard der conditional comments:
Verwenden oder eine lib wie bowser:
https://github.com/ded/bowser
Oder modernizr für feature-Erkennung:
http://modernizr.com/
InformationsquelleAutor der Antwort Liko
Verwenden Sie die folgenden Eigenschaften:
InformationsquelleAutor der Antwort Paul Sweatte
Erkennung von IE und seiner Versionen ist eigentlich sehr einfach, zumindest extrem intuitiv:
.
Diese Weise, ou sind auch fallende hohe IE-Versionen im Kompatibilitätsmodus/Anzeigen. Weiter, das ist eine Frage der Zuordnung von bedingten Klassen:
InformationsquelleAutor der Antwort Frank Conijn
Versuchen Sie dies:
InformationsquelleAutor der Antwort Mahyar Farshi
Können Sie versuchen, diese:
InformationsquelleAutor der Antwort Adrian Miranda
Schreiben Sie Ihre IE11 code als normal und verwenden Sie dann
@supports
und überprüfen Sie für eine Eigenschaft, die nicht unterstützt IE11, zum Beispielgrid-area: auto
.Können Sie dann schreiben Sie Ihre moderne browser-Stile innerhalb dieser. Der IE ignoriert die
@supports
Regel und verwenden Sie die original-styles, in der Erwägung, dass diese überschrieben werden, in modernen Browsern.InformationsquelleAutor der Antwort Antfish
Schritt zurück: warum sind Sie sogar zu versuchen, zu erkennen, "internet explorer" anstatt "meine website muss, um X zu tun, bedeutet diese browser unterstützen diese Funktion? Wenn dem so ist, gute browser. Wenn nicht, dann sollte ich den Benutzer warnen".
Sollten Sie schlagen bis http://modernizr.com/ statt weiterhin das, was du tust.
InformationsquelleAutor der Antwort Mike 'Pomax' Kamermans