Foros del Web » Programando para Internet » Javascript »

Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

Estas en el tema de Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador? en el foro de Javascript en Foros del Web. Hola foro: Mi código ejecuta una función (iteración matemática) que lleva mucho tiempo (dependiendo de los datos de entrada podría llegar a 40 minutos, o ...
  #1 (permalink)  
Antiguo 03/02/2011, 04:43
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 1
Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

Hola foro:

Mi código ejecuta una función (iteración matemática) que lleva mucho tiempo (dependiendo de los datos de entrada podría llegar a 40 minutos, o más... aún no lo he medido para todas las casuísticas).

Por tanto, el navegador del usuario (en el mío, IE, me lo hace) hace saltar una ventana popup de aviso que dice "¿Desea detener la ejecución de este script? Un script en esta página está provocando que IE se ejecute con lentitud. El equipo podría dejar de responder si el script se sigue ejecutando. SI - NO". Obviamente, los futuros usuarios de mi página se acojonarán y harán click en SI, lo que quiero evitar.

¿Alguna sugerencia? Muchas gracias por anticipado.
  #2 (permalink)  
Antiguo 03/02/2011, 05:13
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

Además, para una ejecución que duró 1' 45'' esa ventana de alerta del navegador me ha saltado 12 veces: esto obliga a que el usuario esté sobre la pantalla permanentemente para hacer click en "NO", cosa que quiero también evitar...
  #3 (permalink)  
Antiguo 03/02/2011, 06:25
Avatar de Perr0  
Fecha de Ingreso: mayo-2005
Ubicación: Santiago de Chile, Chile
Mensajes: 676
Antigüedad: 18 años, 10 meses
Puntos: 79
Respuesta: Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

tendrias que modificar tu navegador a través del regedit y para tus usuarios dejarle un instructivo de como modificar el regedit, claro está si usan IE.

aca el detalle
http://support.microsoft.com/kb/1755...ItMyselfAlways
y puedes goglear por mas info

suerte
__________________
Numerador Mp3 en Access =)
http://www.mediafire.com/download/r9...pdw/mp3(2).zip
  #4 (permalink)  
Antiguo 03/02/2011, 06:35
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

Cita:
Iniciado por Perr0 Ver Mensaje
tendrias que modificar tu navegador a través del regedit y para tus usuarios dejarle un instructivo de como modificar el regedit, claro está si usan IE.

aca el detalle
[url]http://support.microsoft.com/kb/175500/es#LetMeFixItMyselfAlways[/url]
y puedes goglear por mas info

suerte
Muchas gracias PerrO, me pongo a ello.
  #5 (permalink)  
Antiguo 03/02/2011, 07:09
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 3 meses
Puntos: 126
Respuesta: Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

Hola

Mucho han de confiar en ti tus usuarios como para tocar su editor de registros. Lo más apropiado es hacerle saber que es lo que puede suceder si están usando IE, que es es lo que han de hacer, presionar en No

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #6 (permalink)  
Antiguo 03/02/2011, 07:21
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

Cita:
Iniciado por Adler Ver Mensaje
Hola

Mucho han de confiar en ti tus usuarios como para tocar su editor de registros. Lo más apropiado es hacerle saber que es lo que puede suceder si están usando IE, que es es lo que han de hacer, presionar en No

Suerte
Gracias Adler por tu comentario.l Tienes razón (bueno, de momento no tengo usuarios: estoy desarrollando la página). El sugerir al usuario presionar en "NO" es obligarlo a que se siente frente al PC y haga click cada 20 segundos durante 40 minutos... no es nada práctico. Mi consulta (yo soy un novato en esto) iba dirigida a buscar si en JS se podía alterar de algún modo el comportamiento del navegador para evitar esas pop-ups.

En este momento estoy intentando (en base a lo que leí en el link de PerrO) "engañar" al IE o S.O. modificando el script de tal modo que parezca que no está en un loop interminable, o que no hace siempre la misma rutina. Veremos.

Sobre lo que tengo dudas es si en otros navegadores (Opera, Safari, etc.) habrán rutinas de protección o alarma similares. ¿Tú sabes algo de esto?
  #7 (permalink)  
Antiguo 03/02/2011, 07:59
Avatar de IsaBelM
Colaborador
 
Fecha de Ingreso: junio-2008
Mensajes: 5.032
Antigüedad: 15 años, 10 meses
Puntos: 1012
Respuesta: Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

he creado alguna rutina del lado del servidor que han necesitado aumentar el tiempo de ejecución. tienes que buscar una equivalencia de Server.ScriptTimeout de asp para javascript. aunque creo que no existe
  #8 (permalink)  
Antiguo 03/02/2011, 12:51
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

buenas...
en mi experiencia, jamas he visto algun script para evitar dicho aviso. como mucho, lo que si creo haber visto son configuraciones para el navegador donde se extiende el tiempo de proceso antes de mostrar el aviso. de todos modos, en mi opinion, me parece algo exagerado un proceso que se toma 3 minutos o mas; en tu caso 40 minutos. lo unico que se me ocurre para evitar el aviso es hacer los procesos por temporizadores (setTimeout o setInterval) pero no aseguro nada porque no lo he intentado. de lo que si estoy seguro es que se tomaria mas tiempo de lo que deberia puesto que son rutinas pautadas. sobre tu ultima pregunta, todos los navegadores tienen proteccion contra script sin finalizacion. de lo contrario imaginate, cualquier malhechor que quiera molestar con un simple bucle infinito seria suficiente como para colgar el navegador.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 04/02/2011, 02:30
 
Fecha de Ingreso: septiembre-2010
Mensajes: 67
Antigüedad: 13 años, 7 meses
Puntos: 1
Respuesta: Función JS que dura mucho tiempo: ¿cómo eliminar popups del navegador?

Cita:
Iniciado por IsaBelM Ver Mensaje
he creado alguna rutina del lado del servidor que han necesitado aumentar el tiempo de ejecución. tienes que buscar una equivalencia de Server.ScriptTimeout de asp para javascript. aunque creo que no existe
Gracias IsaBelM. Las rutinas del lado del servidor (PHP) están limitadas en tiempo (en mi Apache/PHP a 60 segundos). He tenido que partir mi página en 3 páginas para repartir el tiempo de proceso (una página dirige a la otra en un circuito circular... puede estar horas sin que el servidor "diga nada", creo). Pero lo que debo hacer ahora es ejecutar cálculos en CPU usuario antes de enviar los datos al servidor para la ejecución del programa principal. No conozco lo que mencionas (Server.ScriptTimeout de asp... yo soy muy novato en esto), pero lo investigaré.

Cita:
Iniciado por zerokilled Ver Mensaje
buenas...
en mi experiencia, jamas he visto algun script para evitar dicho aviso. como mucho, lo que si creo haber visto son configuraciones para el navegador donde se extiende el tiempo de proceso antes de mostrar el aviso. de todos modos, en mi opinion, me parece algo exagerado un proceso que se toma 3 minutos o mas; en tu caso 40 minutos. lo unico que se me ocurre para evitar el aviso es hacer los procesos por temporizadores (setTimeout o setInterval) pero no aseguro nada porque no lo he intentado. de lo que si estoy seguro es que se tomaria mas tiempo de lo que deberia puesto que son rutinas pautadas. sobre tu ultima pregunta, todos los navegadores tienen proteccion contra script sin finalizacion. de lo contrario imaginate, cualquier malhechor que quiera molestar con un simple bucle infinito seria suficiente como para colgar el navegador.

Muchas gracias zerokilled por tus comentarios. Por lo que llevo visto desde ayer hasta ahora no hay, y como tu bien dices, instrucciones JS para evitar el aviso. Como también dices, hay que meterse ya en la configuración del navegador/SO para modificar un parámetro de tiempo (ver link de PerrO arriba), lo que es inviable en una página en Internet.

Pero, en base a lo dicho en el link de MS, estoy ensayando dos soluciones: (1) partir mi script de dos o más dentro de la misma página, o (2) partir mi página en dos o más (como hice con el programa PHP que corro en el servidor). Si nos fijamos en la frase de MS (link): "... el límite predeterminado del umbral para el cuadro de diálogo de tiempo de espera es de 5.000.000 de instrucciones para Internet Explorer 4 y posterior.", para versiones de IE 4+, el límite para la aparición del pop-up es alto, pero muy bajo para mi programa. Lo que tengo que ver es si esos 5 MM de instrucciones son el límite para un script o para una página (cosa fácil pero engorrosa de verificar). Estoy en ello...

Etiquetas: evitar, iteracion, lentitud, lento, navegadores, avisos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:10.