Lanzamiento de pop up mediante variable externa
4 seguidores
Hola a todos!!!
Estoy intentando lanzar un pop up desde una movie de flash y q en ese pop up se abra una pg web. El caso es que se hacer esto sin problemas.
El problema me surge cuando intento q flash recoja una variable externa con la url q debe abrir el pop up.
Habéis hecho esto antes?? alguna idea??
hartum
[quote="Gema"]Hola a todos!!!
El problema me surge cuando intento q flash recoja una variable externa con la url q debe abrir el pop up.
[quote]
Meloexplique!!!!!!!!!
¿quieres enviar una variable hasta el flash, ó desde el flash? si es el primer caso puedes poner la variable al final de la direccion donde llamas al flash, ejem:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="90%" height="90%" align="middle">
<param name=movie value="wahoo.swf"?variable1=1&variable2=2>
<param name=quality value=high>
<param name=bgcolor value=#999999>
<embed src="wahoo.swf?variable1=1&variable2=2" width="90%" height="100%" align="middle" quality=high bgcolor=#999999
type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"></embed>
</object>
en el otro caso cuando hagas el loadmovie, añade las variables al final y ticka "send variables"
gmdesign
Estoy enviando la variable mediante este javascript
<code>function pasarvariable(valor){
var variableJavascript = valor;
window.document.mipeli.SetVariable("campo1", variableJavascript);
}</code>
Y desde el swf lo recojo mediante un botón donde esta este código:
<code>on (press) {
campo1 = "";
nombreNuevaVentana = "popup1";
anchoPopup = 350;
altoPopup = 200;
herramientas = "no";
scroll = "no";
permitirCambiarTamaño = "no";
menu = "no";
barraEstado = "no";
directorios = "no";
barraURL = "no";
getURL("javascript:window.open('"+campo1+"','"+nombreNuevaVentana+"','width="+anchoPopup+",
height="+altoPopup+",top='+ ((screen.height/2)-("+altoPopup/2+"))+',left='+((screen.width/2)-("+anchoPopup/2+"))+'
,toolbar="+herramientas+",scrollbars="+scroll+"
,resizable="+permitirCambiarTamaño+",menubar=" +menu+",status="+barraEstado+",directories="+directorios+"
,location="+barraURL+"'); void(0);");
}</code>
Lo q intento conseguir es lanzar un pop up q abra una url, esa url es la variable pero no hace nada debe ser q la estoy pasando mal, no se de q otra forma probarlo :-(
hartum
sigo sin saber que es lo que quieres hacer pero eso que haces me suena a "muy enrevesado", a ver si alguien con mejores entendederas te resuelve la duda.
omar
intenta ver el contenido de la variable dentro del flash. por ejemplo pon un campo de texto llamado "campo1" en la escena principal para ver su valor en todo momento.
por otro lado podrias guardar el valor en javascript de ese campo en una variable global y desde flash llamar a una funcion de javascript -propia- q habra la ventana. Desde la funcion de javascript podras recoger el valor de la variable global sin problemas.
gmdesign
Básicamente lo que intento conseguir es coger una variable externa desde el swf en este caso campo1 y luego decir q habra un pop up q abra la pg web q contiene campo1.
No se de q otra forma explicarlo :-(
gmdesign
SEl swf me esta recogiendo la variable en realidad creo q el fallo lo tengo en la accionscript q esta lanzando el pop up ya q lo lanza pero sin ninguna url.
<code>on (press) {
campo1 = "";
getURL("javascript:window.open('"+campo1+"');
}</code>
casi seguro q es esto lo q falla, seguiré haciendo pruebas.
pedro_fm
Cuando recoges la variable, cuando carga al peli o mediante eventos de esta?
dependiendo de lo que me contestes puedes usar un frame escondido o la misma pag html que lleva el embebido objeto flash. para almacenar esa variable (asi evitas pasar por flash, solo seria JS) o recibirla mediante URL ( ...swf?variable="luquesea"&otravar="cuenca")
creo que el error es que te has complicado demasiado intentando el window open desde flash, pudiendo hacer el JS mas complejo (con una funcion generica para todos los window.open y un array de datos con campo1, campo2, etc. que haga casi todo salvo asignar las variables. Luego desde las cambias desde flash con getURL segun lo describes en el AS que has posteado.
gmdesign
YA se lo q estaba mal!!
Ha sido al cargar la variable, lo he hecho de esta otra manera y ha funcionado
<code>on (press) {
url = campo1;
getURL("javascript:window.open('"+url+"'); void(0);");
}</code>
Tenia q contener en url la variable campo1 q recogia del javascript :-(
gmdesign
Si debe ser que me estoy complicando demasiado, es q todavía estoy aprendiendo y me cuesta bastante. El caso es que lo etoy haciendo asi pq el cliente quiere desde el javascript cambiar el la url u no tener q entrar en flash (pq no tiene ni idea de como funciona flash)
Asi q estoy haciendo un swf q cargue los links de forma externa pero el resto de la programación esta dentro del swf.
Muchas gracias por vuestros consejos :-)
Supongo que seguiré dando el coñazo hasta q aprenda de forma decente accionscript ;-)
pedro_fm
yo suelo hacerlo mas a lo burro. una funcion para cada window.open (para que nadie rompa nada jeje) y cuando tengo ganas de extenderme, una mas compleja con arrays para url y propiedades del popup, pasandole un (1) 2, 3 o el caso que sea, y tocando el array se puede asignar url y tamaño+resto de propiedades