Pop up

Hola de nuevo.
Mi consulta trata sobre los popup o ventanas secundarias.
Resulta que tengo una página, llámale "inicio.html" con una peli flash "peli.swf" insertada.
La peli tiene un botón que quiero que llame a una ventana de unas medidas determinadas.
He visto varias fórmulas pero no me funciona. Seguramente que no lo hago bien.
Veo que hay que ponerle una getURL al botón como "javascript:popupwindow()" y después un
código a la página html. Mi pregunta es la siguiente:
La peli flash "peli.swf" al ser exportada, genera una página html "peli.html" que pongo en la misma
carpeta que la peli correspondiente. Pero la peli está insertada en inicio.html.
¿El código popup se pone en "inicio.html" o en "peli.html"?
¿Es importante el lugar? (head, body...)
Gracias

2 respuestas

Respuesta
1
Acá te paso el código que se usa para abrir una ventana al hacer click en una imagen
Fíjate si lo podes adaptar
<img src="file:/ccc.jpg" onClick="MM_openBrWindow('peli.htm','xxx','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,width=500,height=420')">
Y esto dentro del Head
<script language="JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
Respuesta
1
Cuando recurres a flash para hacer una animación, tienes que tener en cuenta que todo el código que flash genera es código de programación. De este modo, tienes que entender que todo elemento insertado en la peli de flash que estas haciendo tiene unos atributos y le puedes otorgar eventos, como a cualquier elemento de página web o que tengas en un programa que crees.
Así pues el código que tienes que insertar seria más o menos así.
<!--
<SCRIPT LANGUAGE="JavaScript"> var javascript_version = 1.0; </SCRIPT>
<SCRIPT LANGUAGE="JavaScript1.1"> javascript_version = 1.1; </SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
var newwin;
function launchwin(winurl,winname,winfeatures)
{
//This launches a new window and then
//focuses it if window.focus() is supported.
newwin = window.open(winurl,winname,winfeatures);
if(javascript_version > 1.0)
{
//delay a bit here because IE4 encounters errors
//when trying to focus a recently opened window
setTimeout('newwin.focus();',250);
}
}
</SCRIPT>
-->
Este codigo,( sin los corchetes iniciales, que son para comentarios, pero los tengo que utilizar porque sino la pagina los interpreta y no podras leerlo), es el que tienes que poner en la pagina donde tienes la peli de flash que quieres que abra otra ventana, en tu caso "inicio.html". Si, es verdaderamente importante que coloques el codigo entre las etiquetas de <head> y </head>. Puesto que el código java script lo puedes insertar en el html, pero al estar recurriendo a el desde un swf de flash, necesitas que lo lea antes de comenzar a cargar la página.
De este modo lo que tendras que poner en el boton seria
On (Release)
Get URL ("javascript:launchwin('peli.html' , 'newwindow' , 'height=150,width=300')")
End On
Desde aquí puedes configurar el tamaño de la nueva ventana cambiando los pixels de altura y ancho .
Esta programación llama a la función "launchwin" que es la que abra la nueva ventana, aunque la puedes llamar como lo hiciste antes, "popupwindow".
Bueno figura, que espero que te haya servido de ayuda esta explicación.
Hola de nuevo nameone.
No funciona.
He metido el código que me pusiste en la página html que lleva la peli, letra a letra,
y en el botón de flash una acción con el otro código.
La respuesta es que me abre una nueva página html en la que me pone en la línea
de dirección, exactamente lo que yo le pongo al botón, o sea javascript:launchwin('peli.html' y todo lo demás.
¿Dónde me equivoco?
Siento mucho haberte hecho esperar tanto en la respuesta. Los virus atacan cuando menos te lo esperas, y encima el servidor de correo me dio algún que otro quebradero de cabeza.
Voy a probar a darte el código de nuevo para que lo copies y lo pegues, pero esta vez lo voy a pegar yo desde la página donde lo vi por primera vez. :-)
Éste es el método usual de abrir páginas en ventana nueva:
getURL ("pagina.html", "_blank");
Desde Flash se pueden abrir ventanas por Javascript asi:
getURL("javascrip:abrir('pagina.html')");
...usando la función abrir:
<script language=javascript>
function abrir(URL,propiedades) {
win = window.open(URL,'win',propiedades);
}
</script>
...definida en el documento html que contiene el .swf o en un archivo .js linkado asi:
<script language="JavaScript" src="abrir.js"></script>
siendo abrir.js un archivo de texto que contiene exactamente:
function abrir(URL,propiedades) {
win = window.open(URL,'win',propiedades);
}
Así, se puede pasar sólo la dirección, u otros parámetros:
Width - anchura de la ventana en píxels
Height - altura de la ventana en píxels
Top - coordenada vertical en píxels
Left - coordenada horizontal en píxels
Scrollbars - barras de desplazamiento
Menubar - barra de menú
Status - barra de estado
Toolbar - barra de navegación
location - barra de direcciones
Directories - barra de directorios de Netscape
Resizable - cambiar el tamaño de la ventana
Fullscreen - página a pantalla completa (Iexplorer)
Dependent - ventana dependiente de la que abre (Netscape)
Para mostrar un elemento o no, darle el valor 1(yes) o 0(no)
Ejemplos:
getURL("javascript:abrir('download.html','top=0,left=0,width=150,height=150')");
getURL("javascript:abrir('http://www.flashplanet.com','menubar=0,toolbar=1,status=0')");
Se puede variar la función abrir(), de modo que las ventanas tengan siempre el mismo tamaño, posición... etc
function abrir(URL) {
window.open(URL,'win','width=400,height=400,top=0,left=0');
}
...o usar cualquier código javascript en un getURL de Flash:
getUrl("javascript:sentencia_javascript");
por ejemplo, getURL("javascript:self.resizeBy(-10,-10)");
Me he dedicado a copiarte al pie de la letra todas las instrucciones que dan en esta página y te voy a dar también la dirección para que puedas ver como funciona y bajarte el ejemplo si quieres.
http://www22.brinkster.com/v3s/abrir.htm
Recuerda también que no podrás probar este efecto en el modo de flash para ver una vista previa de la peli, tendrás que exportarlo a swf y tener este archivo ya metido en un html.
Es decir, que tendrás que exportarlo a html desde flash para poder ver el efecto.
No acaba de funcionar. Quizás por algún error en el código del botón que está en la peli flash. Abre la ventana, pero no al tamaño que le pido.
Gracias por el interés . Buscaré otra solución.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas