Hat IE11 die Javascript-bedingte Kompilierung entfernt?

Ich habe die Version der IE-Trident-Engine mithilfe von ermitteltJavascript bedingte Kompilierung:

var ieVersion = undefined;
/*@cc_on
   ieVersion = Math.floor(@_jscript_version);
@*/

Dies funktionierte gut für IE8, 9 und 10. In IE11 wird der mit Bedingungen versehene Block nicht ausgeführt.es sei denn Ich verwende die F12-Entwicklungstools, um IE10 zu emulieren (in diesem Fall wird der richtige Wert 11 zurückgegeben).

Das ist verwirrend, da dieMSDN-Seite zur bedingten Kompilierung Gibt an, dass dies für Internet Explorer 11 gilt. (UPDATE 03.02.2015: Diese Seite wurde seitdem aktualisiert, um ausdrücklich darauf hinzuweisen, dass ihr Inhaltnicht gelten für IE11 im Standardmodus.) Ich habeKeine Informationen online gefunden um vorzuschlagen, dass IE11 keine bedingten Kommentare unterstützen sollte.

Hat jemand irgendwelche Informationen dazu? Kann jemand dieses Verhalten in IE11 reproduzieren?

Edit: die Relevanz davon ist in IE's<audio> Unterstützung. Ich habe eine Web-App, die die Wiedergabe von ca. 50 kurzen (~ 1 Sek.) Audiodateien erfordert, die in einer (Pseudo-) Zufallsreihenfolge und einzeln nach Benutzerinteraktion abgespielt werden sollten. Die Probleme sind vielfältig:

IE9 hat ein undokumentiertes Limit von 41audio Elemente (ob in HTML oder als JS-Objekte deklariert). Alle nachfolgenden Audiodateien können nicht automatisch geladen und abgespielt werden. (Jedem der 41 Elemente kann die Quelle neu zugewiesen werden, aber jede zweite Neuzuweisung schlägt auch unbemerkt fehl. Ich würde gerne den Code hinter diesen Fehlern sehen ...)IE10 und IE11 "ruckeln" beim Abspielen kurzer Töne: Sie spielen einen Sekundenbruchteil, halten dann an und fahren dann fort. Der Effekt für den Endbenutzer ist, dass das Audio unverständlich ist. (Dasaudiorasierenpreload="auto" und einen Puffer ungleich Null melden.)

Natürlich gibt es keine praktische Möglichkeit, diese Probleme zu erkennen, daher die Browser-Erkennung. Ich bin im Allgemeinen der Meinung, dass User-Agent-Sniffing für Produktionscode zu heikel ist. das@cc_on Technik schien robuster.

Meine Problemumgehung für IE9 besteht darin, den App-Status zu serialisierensessionStorage Nach dem 25. Ton die Seite neu laden und deserialisieren.

In IE10 / 11 besteht meine Problemumgehung darin, die letzten 90% des Audios bei einer Lautstärke von 0 abzuspielen, was IE zu zwingen scheinttatsächlich puffere die Datei.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage