El Blog de Enrique Cortés

martes, 12 de junio de 2007

Establecer período de tiempo de espera para las secuencias de comandos en Internet Explorer


Es posible que algunas secuencias de comandos que se ejecutan en Internet Explorer al visitar páginas web pueden tardar más de lo previsto en ejecutarse. En este caso, Internet Explorer pide al usuario, mediante un cuadro de diálogo, que decida si desea continuar ejecutando estas secuencias de comandos lentas. Algunos sitios pueden utilizar secuencias de comandos excesivamente largas para ejecutarse y es deseable aumentar la cantidad de tiempo antes de que el cuadro de diálogo aparezca en pantalla.
Hay situaciones en las que cuando una página web contiene secuencias de comandos inusualmente largas para su ejecución, por ejemplo, si se está generando un control ActiveX en una página web para transferir un archivo grande, o consultar una base de datos extensa, se provoca un retraso significativamente grande. En tal caso, Internet Explorer, mediante una ventana en javascript consulta al usuario:

"Esta página contiene una secuencia de comandos que toma inusualmente mucho tiempo para finalizar. Para finalizar ahora esta secuencia de comandos, haga clic en Cancelar."
O bien este otro mensaje:

"Una secuencia de comandos de esta página hace que Internet Explorer se ejecute lentamente. Si se continúa ejecutando, es posible que su equipo no responda. ¿Desea anular la secuencia de comandos?"

Este mecanismo permite al usuario detener la secuencia de comandos que se ejecuta en un bucle sin fin, o que se realiza de forma muy lenta.
En Internet Explorer 7 y 8, el valor de tiempo de espera de secuencias de comandos se puede cambiar en equipos de cliente modificando una entrada de Registro para evitar que aparezca tan pronto el cuadro de diálogo.

En versiones anteriores de Internet Explorer, el tiempo de espera para la aparición del cuadro de diálogo no podía ser cambiado. Actualmente, el tiempo de espera ya no es un valor fijo basado en mensajes de Windows. Ahora, Internet Explorer realiza un seguimiento del número total de instrucciones de secuencias de comandos ejecutadas para la página actual, mediante el motor de secuencias de comandos, e inicia el cuadro de diálogo de tiempo de espera cuando aquel valor alcanza la cantidad máxima fijada.

Para cambiar este valor de tiempo de espera en Internet Explorer 7 y 8 sigue estos pasos:

1.
Inicia el editor del registro (regedit.exe), y localiza la siguiente clave:
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer
2. Bajo la subclave Internet Explorer, crea una nueva clave (Edición > Nuevo > Clave) con el nombre Styles
3. En el panel derecho de la clave Styles, crea un nuevo valor DWORD con el nombre MaxScriptStatements
4. Haz dobre clic sobre el valor MaxScriptStatements y en Información del valor establece el número deseado de instrucciones de secuencia de comandos.

De forma predeterminada, esta clave no existe. Si no se crea esta clave, Internet Explorer adopta como opción predeterminada a 5 millones de instrucciones ejecutadas como el desencadenador para el cuadro de diálogo de tiempo de espera.
Como que el tiempo de espera de Internet Explorer se basa en el número de instrucciones ejecutadas de secuencia de comandos, el cuadro de diálogo de tiempo de espera no se mostrará cuando los controles ActiveX o accesos a bases de datos necesiten un tiempo significativamente mayor. Sin embargo, aún se podrán detectar bucles en secuencia de comandos sin fin.


Nota
: Se pueden producir problemas graves si se modifica el Registro incorrectamente utilizando el Editor del Registro o cualquier otro método. Estos problemas pueden requerir que se reinstale de nuevo el sistema operativo. Modifica el Registro bajo tu propia responsabilidad.
*
*

1 comentario:

Anónimo dijo...

Me ha aparecido este problema desde que cuelgo archivos bajados del portal de documentos scribb. Parece que alli esta el problema. Antes no era asi, pero de pronto la presentacion de la pagina de scribb cambio y se puso muy pesada. ¿A que se debe? ¿Tiene que ver acaso con el volumen de publicidad o de aditamentos que el hosted en mencion pone en su pagina?
Gracias por el apunte