Forums Últimos mensajes - Powered by IBM
 

[Conoce IE7] Establecer período de tiempo de espera para las sec uencias de comandos

12/06/2007 - 02:41 por Enrique [MVP Windows] | Informe spam
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, 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 6 y 7 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.




Saludos,
Enrique Cortés
Microsoft MVP - Windows - IE/OE
Date un paseo por mi Blog: http://ekort.blogspot.com
ekort@mvps.org

Windows Vista x86/x64 (RTM) Build 6.0.6000
Internet Explorer 7 (RTW) Build 7.0.5730.11 en XP-SP2


Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho.
This posting is provided "AS IS" with no warranties, and confers no rights.

_____________________________________________________________________________________
 

Preguntas similares