¿IE11 eliminó la compilación condicional de javascript?

He estado determinando la versión del motor IE Trident usandocompilación condicional javascript:

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

Esto funcionó bien para IE8, 9 y 10. En IE11, el bloque comentado condicionalmente no se ejecuta,a no ser que Uso las herramientas F12 dev para emular IE10 (en cuyo caso devuelve el valor correcto, 11).

Esto es confuso, ya que laPágina de MSDN en compilación condicional Especifica que se aplica a Internet Explorer 11.. (ACTUALIZACIÓN 2015-02-03: esta página se ha actualizado desde entonces para indicar explícitamente que su contenidono aplicar a IE11 en modo estándar.no se encuentra ninguna información en línea para sugerir que IE11 no debe soportar comentarios condicionales.

¿Alguien tiene alguna información de esto? ¿Alguien puede reproducir este comportamiento en IE11?

Edit: la relevancia de esto está en IE's.<audio> apoyo. Tengo una aplicación web que requiere la reproducción de alrededor de 50 archivos de audio cortos (~ 1 s), que se deben reproducir en un orden (pseudo) aleatorio, e individualmente después de la interacción del usuario. Los problemas son varios:

IE9 tiene un límite no documentado de 41audio Elementos (ya sea declarados en HTML o como objetos JS). Todos los archivos de audio subsiguientes fallan silenciosamente para cargar y reproducir. (Cada uno de los 41 elementos puede tener su origen reasignado, pero cada segundo reasignación también falla silenciosamente. Me encantaría ver el código detrás de estos errores ...)IE10 y IE11 "tartamudean" cuando se reproducen sonidos cortos: se reproducen una fracción de segundo, luego se detienen y luego continúan. El efecto para el usuario final es que el audio es ininteligible. (Losaudios tienepreload="auto" y reportar un búfer que no sea cero.)

Naturalmente, no hay una forma práctica de detectar estas cuestiones, por lo tanto, la detección del navegador. Por lo general, siento que el rastreo del agente de usuario es demasiado peligroso para el código de producción; la@cc_on La técnica parecía más robusta.

Mi solución para IE9 es serializar el estado de la aplicación parasessionStorage después del sonido 25, recargue la página y deserialice.

En IE10 / 11, mi solución es reproducir el último 90% del audio en el volumen 0, lo que parece forzar a IE aactualmente búfer el archivo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta