Foros del Web » Creando para Internet » Flash y Actionscript »

Lightbox desde flash con AS3

Estas en el tema de Lightbox desde flash con AS3 en el foro de Flash y Actionscript en Foros del Web. Hola, estoy intentando usar lightbox desde flash con actionscript 3 y no sé donde está el problema. Las urls las cojo de un xml. Si ...
  #1 (permalink)  
Antiguo 04/10/2010, 05:20
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 9 años, 2 meses
Puntos: 0
Pregunta Lightbox desde flash con AS3

Hola,

estoy intentando usar lightbox desde flash con actionscript 3 y no sé donde está el problema. Las urls las cojo de un xml.
Si uso navigatetoURL no se como pasarle el parámetro 'rel' y solo abre la url sin el efecto de lightbox.
He probado utilizar ExternalInterface.call, que creo que es la opción correcta para comunicarse con javascript, pero al hacer click encima de la imagen lo único que pasa es que desaparece el flash entero.

Este es mi código:

Código:
<link rel="stylesheet" href="css/lightbox.css" type="text/css" media="screen" />
<script src="js/prototype.js" type="text/javascript"></script>
<script src="js/scriptaculous.js?load=effects,builder" type="text/javascript"></script>
<script src="js/lightbox.js" type="text/javascript"></script>
<script type="text/javascript">

function LightboxDelegate(url,caption) {
var objLink = document.createElement('a');
objLink.setAttribute('rel','lightbox');
objLink.setAttribute('title',caption);
Lightbox.prototype.start(objLink);
} 

</script>

<script type="text/javascript">
	var FO = { movie:"galeria.swf", width:"300", height:"600", majorversion:"9", build:"0", xi:"true", wmode:"transparent", allowscriptaccess:"always" };
	UFO.create(FO, "dreta");
</script>
Esta es mi función en flash:
Código:
function tn_click(e:MouseEvent):void {
	var mc:MovieClip = MovieClip(e.target);
	var s_no:Number = parseInt(mc.name.slice(8,10));
	var picG_request:URLRequest = new URLRequest( folderG + url_list[s_no] + url_target_list[s_no] + description_list[s_no]);
	ExternalInterface.call("LightboxDelegate", url_list[s_no], description_list[s_no]);
	//navigateToURL(new URLRequest(url_list[s_no]), url_target_list[s_no]);
}
Este es mi xml:
Código:
<thumbnail filename="foto.jpg" url="pics/foto1.jpg" target="_self" title="Item No. 2 (127 curtain)" description="descripción fotografía" />
No sé si el problema está en actionscript o en javascript.

Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 04/10/2010, 05:41
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.796
Antigüedad: 9 años, 2 meses
Puntos: 213
Respuesta: Lightbox desde flash con AS3

Hola
revisa esto
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 04/10/2010, 08:23
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Lightbox desde flash con AS3

Hola,

gracias por tu respuesta, pero he estado revisándolo (de hecho ya lo había leído antes de hacer el post) y está con AS2 y tengo entendido que el getURL se cambia por el navigatetoURL.

He probado:
Código:
var lightBoxCommand:String = "LightboxDelegate('" + url_list[s_no] + "');";
var url:URLRequest = new URLRequest("javascript:" + lightBoxCommand);
navigateToURL(url, "_self");
No se si es correcta la forma de llamar la función de javascript, pero sigue pasando lo mismo. Se me olvida algo?

saludos.
  #4 (permalink)  
Antiguo 04/10/2010, 21:07
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.796
Antigüedad: 9 años, 2 meses
Puntos: 213
Respuesta: Lightbox desde flash con AS3

Hola
en efecto, en as3 es como dices,
pregunto algo, ya probaste en as2 que te funcione?
solo para hacer la prueba y saber que no es problema
de lo que tienes

por otra parte, intenta poner no en una variable string
sino directamente el llamado en navigateToURL, a veces (bug imagino)
da problemas

e intenta también llamar a otra función js que haga un alert por ej,
y si te funciona entonces desde esa nueva función llama a lightbox desde js

prueba todo eso y nos comentas
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #5 (permalink)  
Antiguo 05/10/2010, 12:33
 
Fecha de Ingreso: agosto-2009
Mensajes: 11
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Lightbox desde flash con AS3

Hola,

el problema está casi resuelto...
tal y como me recomendabas lo probé primero en as2
Código:
on (release){
   getURL("javascript:LightboxDelegate('images/image-1.jpg','caption1')")
}
y comprobé que el flash tambien desaparecía, con lo cual el problema no era ActionScript. Buscando por allí encontré que el archivo lightbox.js o lightbox++.js (según cual se use) contiene una función para los objetos con parámetros "hidden" y al cambiarlos por "visible" ya funciona bien, tanto en as2 como en as3.

Ahora el problema, con as3, es que funciona bien en firefox, safari y opera pero no en explorer. Y el conflicto está en usar el External Interface de as3. He leído algo sobre el [URL="http://mihai.bazon.net/blog/flash-s-externalinterface-and-ie"]inner_html[/URL], pero no acabo de entender que tengo que hacer para que funcione en explorer.

Tambien he encontrado este [URL="http://www.extremefx.com.ar/blog/fixing-flash-external-interface-inside-form-on-internet-explorer"]link [/URL]y he probado poner el código en mi archivo ufo.js pero sigue sin funcionar.

Muchas gracias
Saludos.
  #6 (permalink)  
Antiguo 05/10/2010, 13:41
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.796
Antigüedad: 9 años, 2 meses
Puntos: 213
Respuesta: Lightbox desde flash con AS3

Cita:
Iniciado por ebaraut Ver Mensaje
Hola,

el problema está casi resuelto...
tal y como me recomendabas lo probé primero en as2
Código:
on (release){
   getURL("javascript:LightboxDelegate('images/image-1.jpg','caption1')")
}
y comprobé que el flash tambien desaparecía, con lo cual el problema no era ActionScript. Buscando por allí encontré que el archivo lightbox.js o lightbox++.js (según cual se use) contiene una función para los objetos con parámetros "hidden" y al cambiarlos por "visible" ya funciona bien, tanto en as2 como en as3.

Ahora el problema, con as3, es que funciona bien en firefox, safari y opera pero no en explorer. Y el conflicto está en usar el External Interface de as3. He leído algo sobre el [URL="http://mihai.bazon.net/blog/flash-s-externalinterface-and-ie"]inner_html[/URL], pero no acabo de entender que tengo que hacer para que funcione en explorer.

Tambien he encontrado este [URL="http://www.extremefx.com.ar/blog/fixing-flash-external-interface-inside-form-on-internet-explorer"]link [/URL]y he probado poner el código en mi archivo ufo.js pero sigue sin funcionar.

Muchas gracias
Saludos.
bueno, con un ejemplo sobre lo que hablas de hidden y visible tal vez puedas ayudar a muchos

en cuanto a lo que dices de ie..... mugre coso ese,
en el primer link dicen que lo solucionaron dandole un id al object

en cuanto al segundo link, entiendo que se debe modificar
el archivo swfobject.js (1.1.4) en la línea 105 (si se usa swfobject)
los otros 2 (ufo y active content) no los he probado,
pero viendo por encima se ven opcionales

saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: as3, javascript, lightbox
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 10:08.