Mensaje asíncrono en internet explorer

Estoy tratando de solucionar un problema. Básicamente, necesito mostrar un "mensaje de carga" en un código Javascript de ejecución prolongada y ocultarlo cuando finalice este código, algo así como:

Mostrar mensaje();

ejecutarMiCódigo();

ocultarMensaje();

Sin embargo, tengo problemas para hacer que esto funcione en Internet Explorer, en este momento parece que la página está congelada hasta que finaliza todo el código del script, y esto puede ser molesto para los usuarios. Intenté un enfoque usando setTimeout (), pero esto no funciona, ¿alguno de ustedes lo resolvió? Apreciaría tu ayuda.

Gracias de antemano.

preguntado el 31 de julio de 12 a las 15:07

1 Respuestas

Puedes hacer algo como esto:

function showMessage(){
    /* show message */;
    window.delay=setTimeout(executeMyCode,100); // Give some time to browser to render message
    return;
}

function executeMyCode(){
    clearTimeout(window.delay);
    /* execute long running code */
    /* hide message */
    return;
}

Aunque el navegador seguirá congelado mientras se ejecuta el código largo, el usuario ahora puede ver el mensaje.

Respondido 31 Jul 12, 16:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.