Tenemos algunos JavaScript que escriben un guión incluir a un recurso dinámico en nuestra página web para permitirnos comunicar cierta información entre páginas servidas desde diferentes servidores que están sujetos a restricciones de scripts entre sitios.IE intermitentemente no ejecuta un archivo de script añadido dinámicamente
La idea es que el navegador solicite el archivo JavaScript, que es servido por un recurso dinámico en el lado del servidor (que también pone parte de la información del servidor en la Solicitud). Luego, el navegador ejecuta el archivo JavaScript cuando se agrega a la página.
Nos hemos encontrado con un problema con Internet Explorer donde el JavaScript devuelto en la respuesta no se ejecuta intermitentemente cuando se agrega a la página. La inspección de un seguimiento de Fiddler HTTP cuando ocurre el problema muestra que el script se devuelve correctamente al navegador.
Para probar esto de forma más fiable, alteré el código que añade el guión para funcionar 1000 veces en un bucle de la siguiente manera:
for (var i = 1; i <= 1000; i++) {
try {
var script = document.createElement("SCRIPT");
script.src = serverHome + "/ajavascriptfile.js?token=" + token + "&num=" + i;
script.id = token;
document.getElementsByTagName("HEAD")[0].appendChild(script);
} catch (e) {
alert(e);
}
}
El guión devuelto por ajavascriptfile.js
simplemente incrementa un contador en mi página:
var output = document.getElementById("output");
output.innerHTML = parseInt(output.innerHTML) + 1;
No se detectan excepciones ni se alertan en esta prueba.
Si esto se ejecuta correctamente, el contador debe llegar a 1000 (lo que ocurre en Firefox). Sin embargo, en IE6 tiene un promedio de 900-950, IE7 es alrededor de 995-998 y IE8 es un impactante 750-800.
¿Alguien más ha encontrado que Internet Explorer no ejecuta scripts incluidos dinámicamente? Si es así, ¿sabes cómo solucionar este problema?
¿Tiene un ' ' declarado en la página por casualidad? –
No, no tengo un en la página. –
Estoy trabajando en este tema, pero no estoy seguro de por qué está mal. – JustEngland