Comunidad de diseño web y desarrollo en internet online

Javascript Onclik desde FLash

Citar            
MensajeEscrito el 12 Feb 2009 10:17 pm
Vengo usando desde hace un tiempo las greybox de javascript y son excelentes....normalmente solo hay que insertar el siguiente codigo:
En el head:

Código :

    <script type="text/javascript">
        var GB_ROOT_DIR = "./greybox/";
    </script>
 
    <script type="text/javascript" src="greybox/AJS.js"></script>
    <script type="text/javascript" src="greybox/AJS_fx.js"></script>
    <script type="text/javascript" src="greybox/gb_scripts.js"></script>
    <link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all" />


y en el body:

Código :

  <script type="text/javascript"> 
var image_set = [

            {'caption': 'Flower', 'url': '../static_files/salt.jpg'},
                {'caption': 'Nice waterfall', 'url': '../static_files/night_valley.jpg'}
             
             ];
</script>>

y tus links:

Código :

<a href="#" onclick="return GB_showImageSet(image_set, 1)">Launch gallery</a>



EL problema es que tengo una pagina hecha en flash -asi la tiene el cliente y no quiere cambiarla- :roll:
quisiera saber como poner dentro de un boton flash la llamada a la misma función.

He intentado:

Código :

on (release)
{
getURL("javascript:return GB_showImageSet(image_set, 1)");
}


pero nada..

Sí me puedo comunicar con el javascript porque tengo otras funciones sencillitas que llamo desde un boton flash utilizando la misma redacción en el codigo

Código :

on (release)
{
getURL("javascript:CambiarColor1()");
}

pero la que me interesa más no puedo :( Alguien que me pueda orientar

Por pobremacpato

3 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Feb 2009 12:50 am
Hola, intenta con:

Código ActionScript :

on (release) 
{
     getURL("javascript:GB_showImageSet(eval('image_set'), 1)");
}


Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 13 Feb 2009 01:26 am
No me funciona..me cambia a otra pagina donde sale las letras "false" ...aqui hice una pequeña paginita para que sea mas ilustrativo lo que pasa....el flash tiene el codigo que me dio Longe Vie

PAGINA

Por pobremacpato

3 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Feb 2009 01:39 am
Que amigo como estas, :P no sabia que eras tu.

Oie pues no abre la ventana que dice false, pero prueba haceindo esto

Código Javascript :

<script type="text/javascript"> 
var image_set = [

            {'caption': 'Flower', 'url': '../static_files/salt.jpg'},
                {'caption': 'Nice waterfall', 'url': '../static_files/night_valley.jpg'}
             
             ];
function flash_gb1()
{
return GB_showImageSet(image_set, 1);
}
</script>


y en flash

Código ActionScript :

on (release)  
{ 
     getURL("javascript:flash_gb1()"); 
}


espero que funcione, Suerte.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 13 Feb 2009 02:38 am
Parece que es algo dentro del mismo codigo de las GreyBox que no permite.. probé el ultimo codigo y no me funciona....
ya habia tratado algo parecido poniendo la funcion dentro de otra funcion y llamandola con el javascript:cambiar(); pero igua no sale....

Aqui dejo los archivos que he usado para probar, por si alguien los desea ver de primera mano, el fla y el html estan con los ultimos codigos que agregé.

DESCARGAR

Gracias por el apoyo... :D

Por pobremacpato

3 de clabLevel



 

msie8
Citar            
MensajeEscrito el 13 Feb 2009 03:08 am
hola de nuevo, se me ocurrio que probaras de estas dos formas, la primera:

Código ActionScript :

getURL("javascript:void(flash_gb1());");  


la segunda:

Código ActionScript :

flash.external.ExternalInterface.call("flash_gb1")


tambien prueba haciendo alert para ver si almenos si ejecuta y el problema no esta en el greybox

Código ActionScript :

flash.external.ExternalInterface.call("alert", "El problema no es aqui");

Código ActionScript :

getURL("javascript:void(alert('tampoco aqui'));");  


Esepero puedas solucionarlo con esto. Suerte

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox
Citar            
MensajeEscrito el 13 Feb 2009 04:18 am
Mil gracias amigo!!! :lol: ya me funciono con la primera opción!!!....ahora voy a ver si lo puedo aplicar al flabiixx!!!.. :cool: jejej Que bien es tenerte resolviendo problemas por aca! ^^

Por pobremacpato

3 de clabLevel



 

msie8
Citar            
MensajeEscrito el 29 Jun 2009 01:18 am
Hola a todos, este foro fue de gran ayuda, pero en mi caso, no necesitaba abrir solo una galeria, si no diferentes e inumerables PopUps en diferentes paginas de mi sitio, que bien podian ser una imagen, un archivo interno, un vinculo interno o un vinculo externo, cualquiera de los anteriores, pero desde un botón en flash.

Revise por 2 días paginas con información y ayudas relacionadas a "greybox desde flash", pero en la mayoria de los casos, las lineas de codigo y las funciones, no aplicaban o estaban mal escritas, el resultado: pantalla en blanco con la palabra "false".

Como solución, adapte parte del codigo que encontre en este sitio y del sitio de greybox en la pestaña "uso avanzado", despues de investigar mucho en internet, hacer pruebas y consultar a un Ingeniero Senior, este es el resultado comprobado que tal vez alguno de ustedes puede necesitar.

En mi proyecto se presentaron 2 problemas:

1. Lanzar correctamente el pop up con el efecto greybox desde botón flash
2. Abrir un pop up con efecto greybox desde un iframe, ya sea con un botón en flash o con un vinculo de texto o de imagen en html, sin que se abra dentro del iframe si no desde la pagina padre (encima de iframe).

Para aquellas personas que necesiten ayuda con estos dos problemas, aqui les dejo la solución garantizada:

1. Lanzar correctamente el pop up con el efecto greybox desde botón flash

Con esta forma, no necesitamos scripts dentro del html, la llamada de la función la haremos unicamente desde el botón de nuestro flash. Asi evitaremos llenar nuestro html de funciones, vinculos, titulos y demas en caso de tener x numero de vinculos por llamar (hablo de diferentes botones en flash y vinculos desde html en una sola pagina).

Esta es la forma correcta de hacer el llamado de la funcion y asi es como se deben escribir los parametros, se debe cumplir con el parametro 'titulo' y 'url'.

on (release){
getURL("javascript:void(GB_showFullScreen('google','http://www.google.com'));");
}

Tambien se puede llamar cualquiera de las otras funciones de la libreria, como son: GB_show, GB_showCenter, GB_showFullScreen, GB_showImage, GB_showPage, GB_showFullScreenSet y GB_showImageSet. Solo debemos reemplazar el nombre de la función, que en nuestro ejemplo es GB_showFullScreen, por la que necesiten.

2. Abrir un pop up con efecto greybox desde un iframe, ya sea con un botón en flash o con un vinculo de texto o de imagen en html, sin que se abra dentro del iframe si no desde la pagina padre (encima de iframe).

Si estamos lanzando el pop up desde un iframe, donde hemos insertado un swf, se debera agregar parent. a la funcion que llamemos.

Para un botón en flash, quedaria así:

on (release){
getURL("javascript:void(parent.GB_showFullScreen('google','http://www.google.com'));");
}

Para un vinculo de texto o de imagen desde un html, quedaria así:

<a href="javascript:void(parent.GB_showFullScreen('google','http://www.yahoo.com'));" title="Yahoo" >Launch Yahoo.com in fullscreen window</a>

Por último, es necesario ajustar en nuestro swf el parametro wmode para que el fondo de la pelicula sea transparente, esto para evitar que se vea la animación sobrepuesta en el pop up.

Para agregar el parametro wmode directamente a nuestro html, con un editor de texto, escribiremos:
En una etiqueta OBJECT:

<param Name="wmode" value="transparent">

En una etiqueta EMBED:

wmode="transparent" wmode= "transparente"

Si quieres saber más sobre el parametro wmodehttp://www.adobe.com/es/support/flash/ts/documents/wmode.htm

IMPORTANTE:

Cuando tenemos iframes en nuestro sitio, las llamadas a los scripts y hojas de estilo de greybox:

<script type="text/javascript">
var GB_ROOT_DIR = "./greybox/";
</script>

<script type="text/javascript" src="greybox/AJS.js"></script>
<script type="text/javascript" src="greybox/AJS_fx.js"></script>
<script type="text/javascript" src="greybox/gb_scripts.js"></script>
<link href="greybox/gb_styles.css" rel="stylesheet" type="text/css" media="all"/>

Se deberan incluir según las indicaciones de instalación de grey box, en la pagina padre unicamente, o sea, la pagina que contiene el iframe.

Por milaypc

7 de clabLevel



 

Bogota

firefox
Citar            
MensajeEscrito el 16 Sep 2009 07:20 pm
Que buen aporte milaypc, me ha sido de mucha utilidad. GRACIAS ^^

Por pobremacpato

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Oct 2009 05:33 am

Por pediaf

2 de clabLevel



Genero:Masculino  

msie7

 

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