Foros del Web » Programando para Internet » Javascript »

S.O.S Código impresión

Estas en el tema de S.O.S Código impresión en el foro de Javascript en Foros del Web. Hola! } Alguien me sabría decir qué está mal en este código? Porque me indica que vent no está definido, tiene que ver con el ...
  #1 (permalink)  
Antiguo 20/12/2002, 07:26
 
Fecha de Ingreso: diciembre-2002
Mensajes: 16
Antigüedad: 21 años, 4 meses
Puntos: 0
Pregunta S.O.S Código impresión

Hola! }

Alguien me sabría decir qué está mal en este código? Porque me indica que vent no está definido, tiene que ver con el close...lo único que hacer es abrir las tres ventanas. Le coloqué un temporizador porque si directamente en el "for" coloco vent.close() la cierra pero no lo envía a imprimir... cómo lo puedo solucionar?
Gracias...

<script language="JavaScript">

function cerrar(ventana)
{
ventana.close();
}

function imprimirvarios()
{
var paginas=new Array();
paginas[0]="instructivo_impre.htm";
paginas[1]="instructivo_impre1.htm";
paginas[2]="instructivo_impre2.htm";

for (var i=0;i<3;i++)
{
var vent=open(paginas[i]);
vent.print();
setTimeout('cerrar(vent)',1000);
}
}

</script>
  #2 (permalink)  
Antiguo 20/12/2002, 07:43
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Yo te puedo responder.

No se explicarte porque pero a mi nunca me ha funcionado el pase de parámetros a setTimeOut. Yo pondría global la variable vent y no le pasaría parámetro alguno a la función que cierra.

El problema sin duda es de alcance. SetTimeOut guarda quien sabe donde la referencia a algo que debe llamar transcurrido un tiempo. Pero lo que guarda es un string. Cuando llama a la función, tu variable vent no existe.

Saludos.
  #3 (permalink)  
Antiguo 20/12/2002, 07:49
 
Fecha de Ingreso: diciembre-2002
Mensajes: 16
Antigüedad: 21 años, 4 meses
Puntos: 0
Creo entender lo del setTimeout pero no sé como convertir la variable vent en global si hace un open y lo necesito dentro del for...yo sé que esto es básico, sisculpa la ignorancia pero me falta muuuucha práctica en esto...
  #4 (permalink)  
Antiguo 20/12/2002, 07:55
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Es cierto, deberías usar un arreglo.

Hay algo que no entiendo. ¿Por que tienes que darle un segundo antes de que se cierren?. Yo hice la prueba del código que te envié ayer y eso no hacía falta.
  #5 (permalink)  
Antiguo 20/12/2002, 07:58
 
Fecha de Ingreso: diciembre-2002
Mensajes: 16
Antigüedad: 21 años, 4 meses
Puntos: 0
Ok, a mi me ocurre que abre una ventana, aparece el cuadro de impresión, le doy aceptar y ni bien hago eso la cierra y abre la otra peeero no envió nada para imprimir! Me imaginé que era porque no le daba tiempo para que lo cargue...será otra cosa?
  #6 (permalink)  
Antiguo 20/12/2002, 07:59
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Sin duda es otra cosa. A mi me pasó como a ti, es decir, tuve los tres cuadros seguidos pero me imprimió los tres popUps independientemente del tiempo que tardara yo en responder.
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 19:23.