Ich verwende die neuen Internet Explorer 11- Entwicklertools, um den Dokumentmodus auf "8" zu schalten, aber bedingte Kommentare werden weiterhin ignoriert, dh sie werden nicht ordnungsgemäß analysiert und verhalten sich wie normale Kommentare. Daher wird keine referenzierte Datei innerhalb des bedingten Kommentars vom Browser angefordert / geladen.
Warum passiert das? Ist es ein Fehler?
Wenn Sie der Meinung sind, dass dies tatsächlich ein Fehler ist, der behoben werden muss, gehen Sie hinein und sagen Sie, dass auch Sie dies im Microsoft-Fehlerbericht reproduzieren können, der für dieses Problem gemeldet wird:
Bedingte Kommentare funktionieren nicht, wenn Sie Dokumentmodi über F12 Developer emulieren Werkzeuge .
Update: Es wurde berichtet, dass dieses Problem im genannten Fehlerbericht behoben wurde.
quelle
Antworten:
nach zu
Jacob Rossi [MSFT]
Das wurde am 22. April 2014 veröffentlicht.
Wenn ich selbst ein paar Tests durchführe, scheint dies behoben zu sein und alles läuft wieder reibungslos, um den erstaunlichsten Browser zu testen, der jemals produziert wurde ... Internet Explorer!
quelle
Ich habe gerade versucht, dies in Internet Explorer 11 unter Windows 7 zu verwenden, um sicherzustellen, dass meine verwendeten semantischen HTML5- Elemente für Internet Explorer 8 und niedriger erstellt wurden (über bedingte Kommentare), und der Browser ignoriert sie einfach. -_-
Diese Funktion funktionierte in Internet Explorer 10 einwandfrei , und Microsoft musste nur daran basteln, nicht wahr?
Abgesehen davon genieße ich tatsächlich den Internet Explorer, was eine Änderung bewirkt.
quelle
Dies hat bei mir funktioniert und scheint die eleganteste / einfachste Lösung zu sein ( Internet Explorer 10 und Internet Explorer 11 sind wohl die einzigen Browser, die dies unterstützen
-ms-high-contract
):quelle
Ich bin kürzlich auf das gleiche Problem gestoßen. Ich fand auch, dass einige bedingte Kommentare funktionieren:
gt
und hat gutlt
funktioniertgte
und hatlte
nie funktioniertEine mögliche Lösung wäre also, die bedingten Anweisungen zu ändern, um die Operatoren
gt
und zu verwendenlt
.Die andere Alternative, die ich nützlicher fand, war die Verwendung eines Dienstes wie Browserstack .
quelle
Ich habe eine andere Lösung dafür.
Internet Explorer 11 mit aktiviertem Internet Explorer 8-Kompatibilitätsmodus enthält die Zeichenfolge 'MSIE 8.0', also:
(PHP-Beispiel)
quelle
Ich hatte das gleiche Problem - es hat mich den ganzen Morgen verrückt gemacht. Ich habe Modernizr hinzugefügt und alle Optionen ausgewählt, einschließlich yepnope.js.
Jetzt sieht mein Test so aus:
In diesem Fall teste ich auf Canvas (was vor Internet Explorer 9 nicht unterstützt wurde), also lade ich meinen bedingten Inhalt. Dies funktioniert jetzt beim Wechseln des Browsermodus in den Entwicklertools von Internet Explorer 11.
quelle
Ich habe es hier nicht erwähnt gesehen, aber in diesem Fehlerbericht wird darauf hingewiesen, dass die bedingten Kommentare wie erwartet funktionieren, wenn Sie die Einstellungen für die Kompatibilitätsansicht ändern. So:
Scheint jetzt gut auf meinem lokalen Host zu funktionieren. Ich habe dies nicht ausführlich getestet, aber vielleicht hilft es jemandem.
quelle
Einige der bedingten Kommentare funktionieren wie '
gt
' und 'lt
',<!--[if IE 8]>
funktionieren aber beispielsweise nicht. Dies ist sicherlich unpraktisch für Entwickler, die versuchen möchten, wie ihre Webseiten in verschiedenen Versionen von Internet Explorer-Browsern aussehen, aber es sind nicht alle schlechten Nachrichten.Obwohl die bedingten Kommentare nicht funktionieren, können Sie testen, wie Ihre Webseite in jeder Internet Explorer-Version aussieht, indem Sie die Stylesheets einzeln anhängen: Angenommen, Sie haben ein Stylesheet für Firefox, Chrome, Internet Explorer 10 und Internet Explorer 11 mit dem Namen '
screen.css
' und ein weiteres Stylesheet NUR für Internet Explorer 9 mit dem Namen 'screen-ie9.css
' und ein weiteres NUR für Internet Explorer 8 mit dem Namen 'screen-ie8.css
'.So testen Sie Ihre Webseiten NUR für Internet Explorer 9:
und setzen Sie in den F12-Entwicklertools im Abschnitt Emulation den 'Dokumentmodus' auf '9' und die 'Benutzeragentenzeichenfolge' auf 'Internet Explorer 9'. Der Dokumentmodus ist der Standard, den Internet Explorer 9 verwendet, und die Zeichenfolge des Benutzeragenten ist der Browser selbst.
PS: Ich gehe davon aus, dass das '
screen.css
' Ihr Basis-Stylesheet ist, weshalb ich es zuerst aufrufe, als die Internet Explorer 9-Korrekturen später durch Aufrufen von 'screen-ie9.css
' zweitens zu "überschreiben" .Auf diese Weise können Sie "sicher" sein (ich muss mit VMs testen, um das Wort "sicher" ohne Anführungszeichen zu schreiben), dass Sie Ihre Webseite in einem Internet Explorer 9-Browser anzeigen. Wenn Sie mit dem Testen und Stylen in Internet Explorer 9 fertig sind und mit Internet Explorer 8 testen möchten, können Sie auf einfache Weise denselben Trick ausführen, indem Sie diesen ersetzen:
mit diesem:
Es ist also nur eine Frage der geringfügigen Unannehmlichkeiten von Microsoft, ABER die neuen F12-Entwicklertools bieten VIELE erstaunliche Funktionen, was dies nicht zu einer großen Sache macht.
quelle