Comunidad de diseño web y desarrollo en internet online

Botón que verifique si una ventana esta abierta

Citar            
MensajeEscrito el 09 Feb 2009 10:54 pm
Hola:

Me encuentro haciendo una animación en la cual necesito que mediante un botón me abra una url en una ventana diferente, pero necesito que ese mismo botón si es presionado otra vez verifique si está abierta la página que abrió con anterioridad y no la abra denuevo....

por ejemplo:

* el botón al ser presionado abrirá www.google.com en una nueva ventana
* la ventana de google permanecerá abierta
* al presionar nuevamente el botón [como la pagina www.google.com sigue abierta] no hará ninguna acción y no voverá a abrir la página

* ahora cierro la página que abrí con el botón [www.google.com]
* vuelvo a presionar el botón
* abrirá nuevamente la página www.google.com [por que la página ya la habíamos cerrado!]

Espero que me entiendan por que estoy ya muy desesperado!!

Gracias

Por muzicamanson

23 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 09 Feb 2009 11:43 pm
Por favor necesito ayudaaa... es urgentee!! Gracias :(

Por muzicamanson

23 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 09 Feb 2009 11:51 pm
hola, para hacer eso vas a tener que usar JavaScript que seria el metodo mas facil, revisa este link y este Tip

Para llamar a un funcion de javascript desde flash, se usaria una sentencia en tu boton, parecida a esta:

Código ActionScript :

getURL("javascript:abrir(')");


Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 10 Feb 2009 12:11 am
Entiendo el código del ejemplo que me mencionaste, pero no precisamente necesito que muestre si se abrió o no el popup... Verás, en la primera página [pagina1.html] estoy transfiriendo datos con un boton mediante localConnection hacia la segunda página [pagina2.html], el botón al ser presionado abre la pagina2.html para despues pasarle los datos que contenía la página1.html... Hasta ahi todo va bien... El problema esta en que si yo vuelvo a presionar ese botón, me vuelve a abrir otra vez la página2.html y eso es presisamente lo que no quiero que haga por que se supone que ya estaba abierta antes....

Espero que me puedan ejemplificar mas especificamente con códigoo!!!

Gracias :shock:

Por muzicamanson

23 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 10 Feb 2009 09:10 am
:P hola, bueno, si estas usando LocalConnection, es la misma logica del ejemplo que te puse, en el cual crean un variable en el popup, si existe dicha variable, significa que esta abierto el popup, si no existe, entonces esta cerrado.

Para aplicar esa logica a LocalConnection, simplementa evalua con alguna funcion de prueba o algo por el estilo. recuerda que el metodo "send" regresa un valor boolean que indica si se pudo completar la transferencia.

suponiendo que tu boton hace algo como esto:

Código ActionScript :

enviar_lc.send("conexion","pasar_datos",dato);


ahora debera hacer algo como esto:

Código ActionScript :

if( ! enviar_lc.send("conexion","pasar_datos",dato) )
{
    getUrl("popup.html");
}


o tambien puede hacer esto:

Código ActionScript :

if( ! enviar_lc.send("conexion","funcion_prueba") )
{
    getUrl("popup.html");
}


SI no pudo enviar la informacion, entonces abre la url. Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 10 Feb 2009 03:55 pm

LongeVie escribió:

:P hola, bueno, si estas usando LocalConnection, es la misma logica del ejemplo que te puse, en el cual crean un variable en el popup, si existe dicha variable, significa que esta abierto el popup, si no existe, entonces esta cerrado.... Suerte.


Bien, siento que ya casi es funcional... Te mostraré el código que he realizado y haber si me puedes ayudar ya con el paso final...

Código ActionScript :

on (release) {
   var envio_lc:LocalConnection = new LocalConnection();
   envio_lc.send("flujo1_2", "verTexto", _root.envio);
   if(! envio.lc.send("flujo1_2","verTexto", _root.envio)){
//esta función es la que abre pagina2.html
      compras();
      espera = setInterval(avanzar, 3000);
      delete compras;
   }
//aqui necesito que se compruebe si la ventana que abrio compras() esta abierta
//de ser verdadero, la función compras() ya no se ejecutará al presionar el botón con "delete.compras;"
//si compras termino de ejecutarse entonces la función no se eliminará y volverá a aparecer presionando el botón
}

Por muzicamanson

23 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 10 Feb 2009 08:38 pm
Mmm... en el swf receptor crea una funcion llamada funcion_prueba que reciba un parametro, solo para saber si esta abierta.

Código ActionScript :

  on (release) { 
   var envio_lc:LocalConnection = new LocalConnection(); 
   var abierta:Boolean = envio.lc.send("flujo1_2", "funcion_prueba", "dato_prueba");
   //abierta tiene ahora la comprobacion de si esta la ventana esta abierta o no.
   //... "if(abierta)" hago esto "else" hago esto otro
}

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.