Puede suceder que ese módulo PHP genere una página que cargue una gran cantidad de datos desde unas tablas MySQL y que realmente no tarde mucho. Pero para cada registro cargado deba, por ejemplo, ejecutarse un procedimiento javascript en el cliente. Puede incluso que cada registro sea parte de un objeto.
Y puede que entonces, y utilizando Internet Explorer, tu usuario se encuentre con este desagradable mensaje:
¿Desea detener la ejecución de este script? Un script en ésta página está provocando que internet explorer se ejecute con lentitud. El equipo podría dejar de responder si el script se sigue ejecutando.
Sin embargo, tú sabes que esto se debe a un gran volumen de datos, no a un script defectuoso. ¿Qué hacer? Por ahora no he encontrado soluciones satisfactorias que resuelvan este aspecto en el cliente. Así que por ahora, no hay otra que reprogramar tu módulo para que haga las cosas de otra manera.
Sin embargo, si aún así quieres saber cómo solucionarlo, en versiones posteriores a Internet Explorer 4 (¿hay alguien que use alguno anterior?) debes crear una entrada en el registro del sistema que parchea esta tendenciosa ventanita.
El problema surge porque IE utiliza un límite estándar de 5.000.000 de instrucciones para lanzar la subsodicha advertencia. Si el usuario, asustado, dice "Sí, quiero". Tu script, y en consecuencia tu diseño y desarrollo, se irán pa'l car###.
Para ampliar este límite, en el editor de registros (y si no sabes usarlo o tienes duda, recurre a la primera solución, "haz las cosas de otra manera"), crea una nueva entrada llamada "Styles" en "HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer", de manera tal que tengas un árbol así:
HKEY_CURRENT_USER\Software\Microsoft\InternetExplorer\Styles
En esta entrada añade una variable tipo DWORD con nombre "MaxScriptStatements" y un valor superior al de 5.000.000, pero sin abusar (o puedes encontrarte que IE no te avise de bucles infinitos). Importante, si haces esto con el IE abierto, debes cerrarlo y volverlo a abrir para que lea la variable del nuevo límite.
La solución, en sí misma, no me gusta. Te sirve a ti, cuando programas, para probar, pero no al usuario final o cliente. Y decirle a un usuario final que edite su registro no es muy elegante. Pero...
Fuente: http://support.microsoft.com/kb/175500.
1 comentario:
Muchas gracias
Publicar un comentario en la entrada