Aquí hay uno nuevo, IE11 arroja errores en el código que funciona en todos los demás navegadores.
De todos modos, después de unas horas de "arreglar" el código para que IE11 no se caiga por sí solo, me encontré con un error para el que parece que no puedo encontrar una solución. Aquí está el código en cuestión:
$('input[name="messageAccount"]').change(function () { $aButton.show(); var addedIds = $("#hdnfield").val(); if (addedIds == null || addedIds === "") { $("#hdnfield").val(this.value); } else { $("#hdnfield").val(`${addedIds}${this.value}`); }; }); Esto está anidado en el interior de la llamada de éxito en una solicitud de Ajax. El depurador de IE dice que el error proviene del contenido de la declaración else , pero también está leyendo todos los corchetes de forma incorrecta. Por ejemplo, el paréntesis de apertura de esta función se "cierra" después del paréntesis de cierre de la solicitud de Ajax... (esperemos que tenga sentido).
¿Alguien más ha tenido un problema similar con IE antes? Tengo una serie de otros errores que corregir, así que si hay alguna respuesta, la publicaré tan pronto como pueda. Gracias por adelantado.
EDITAR: solo como referencia, actualmente estoy ejecutando esto localmente y es parte de lo que se convertirá en una aplicación web alojada internamente.
Es porque "`" (cadenas de plantilla) no es compatible con IE: http://caniuse.com/#search=string
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
Consulte https://stackoverflow.com/a/27678299/2195875
Para evitar este error, puede usar un transpilador de ES6 a ES5 o simplemente escribir directamente un javascript de ES5 válido:
en vez de
`cadena de texto ${expresión} cadena de texto`
escribe
"cadena de texto "+expresión+" cadena de texto"
También puede agregar polyfill a su html:
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-polyfill/6.26.0/polyfill.min.js"/>