Script para Pop_Up en un swf

Tengo un script para abrir un new.window (popup) la primera parte del script lo puse entre las etiquetas <Head></Head> y el script que llama a la ventana en
<body>
Lo que no se es como hago la modificación para que el link sea un swf que tengo en la página (¿Dónde pongo el <a Href...?) O que debo hacer ya que el script trae por defecto un link en texto pero necesito que el link sea el swf

1 respuesta

Respuesta
1
Este código:



<head>

<span style="white-space: pre;"> </span>
<script>

<span style="white-space: pre;"> </span>window.open("http://mipagina.swt/","popup", "height=500, width=800");
<span style="white-space: pre;"> </span></script>


</head>

Como puedes ver, el primer parámetro del open es la url a la que quieres invocar. Da igual que sea un swt, un html o un pdf o lo que sea. El segundo parámetro es el nombre que se le da a la ventana. No es demasiado importante para tu caso. Pon lo que quieras siempre que no tenga espacios en blanco. El tercer parámetro son las opciones con las que abres la nueva ventana: puedes especificar la posición, el tamaño, si la barra de navegación va a estar visible o invisible, si permites scrollbars, ...
El código que te paso abre la ventana al cargarse la página. Si quieres que la ventana se abre al pulsar un botón o al hacer algo, tendrías que meter el código javascript en una función, e invocar a la función al hacer click en el botón, por ejemplo.
Espero haberte ayudado. Si tienes alguna duda pídeme una aclaración.
Si mira.
De pronto no me hice entender bien, el script que necestiot modificar habré una ventana nueva al darle clic en un link de texto pero lo que necesito es que esa nueva ventana se habrá al darle clic en un swf. PAra aclararte el panorama te pongo el escript a continuación:
<script language="JavaScript" type="text/javascript">
function new_window(url) {
link = window.open(url,"Link","toolbar=0,location=0,directories=0,status=0,menubar=0,scrollbars=yes,resizable=0,width=430,height=300,left=80,top=180");
}
</script>
<a href="javascript:new_window('pagina.html')">Click
                    aqui para ver el popup</a>
En la última parte es donde se muestra el link "Click aquí para ver el popup" pero no necesito eso, lo que necesito es que el link sea un swf(video de flash). ¿Qué hago?
El problema de los objetos flash, es que no admiten el evento onclick, a no ser que dentro de la película flash programes con action script el evento. Imagino que el flash que quieres ver es un video de youtube o algo parecido, y no tienes posibilidad de programar ese flash externo, así que descartamos el action script.
Tampoco vas a poder poner una capa transparente por encima del vídeo, que recoja el evento onclick(), porque el vídeo se pone "a pelotas" encima de todo el html, así que no hay forma de ponerle nada encima.
Te propongo la siguiente solución:
Se trata de jugar con el evento "onmouseover" del objeto flash embedido, ya que ese evento sí está disponible. Al pasar el ratón por encima del vídeo, se abrirá una ventana para acceder al link. Te paso el código, a ver si te sirve de referencia:

<html>
<head>
<script>
htmlventana = "<html><head></head><body><input type='button' value='Pulsa aquí para ir al link' onclick='opener.openLink();window.close()'></input></body></html>";
var ventanaBoton = null;
var vw=200;
var vh=150;
function abreBotonLink(){
//Para que salga en el centro de la pantalla
/*
var vx = (screen.width/2) - (vw/2);
var vy = (screen.height/2) - (vh/2);
*/
//Para qu
e salga encima del vídeo
var objFlash = document.getElementById("flash")
var vx = findPosX(objFlash) + objFlash.width/2;
var vy = findPosY(objFlash) + objFlash.height/2;
var parametros = "toolbar=no,height=" + vh + ",width=" + vw + ",left=" + vx + ",top=" +  vy;
if (ventanaBoton==null){
ventanaBoton = window.open("", "BLANK", parametros);
ventanaBoton.document.write(htmlventana);
}
}
function cierraBotonLink(){
if(ventanaBoton!=null){
ventanaBoton.close();
ventanaBoton=null;
}
}
function openLink(){
window.open("http://www.google.es");
}
function findPosX(obj)
 {
   var curleft = 0;
   if(obj.offsetParent)
       while(1) 
       {
         curleft += obj.offsetLeft;
         if(!obj.offsetParent)
           break;
         obj = obj.offsetParent;
       }
   else if(obj.x)
       curleft += obj.x;
   return curleft;
 }
 function findPosY(obj)
 {
   var curtop = 0;
   if(obj.offsetParent)
       while(1)
       {
         curtop += obj.offsetTop;
         if(!obj.offsetParent)
           break;
         obj = obj.offsetParent;
       }
   else if(obj.y)
       curtop += obj.y;
   return curtop;
 }
</script>
</head>
<body>
<object id="flash" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=4,0,2,0"width="550" height="400" onmouseover="abreBotonLink()" onmouseout="cierraBotonLink()" >
<param name="movie" value="yourdotspot3.swf">
<embed src="http://www.windspring.net/test/yourdotspot3.swf" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="550" height="400">
</embed>
</object>
</body>
</html>
Ok, lo intentaré, pero te aclaro:
El swf lo hice yo en flash osea que SI tengo la forma de programarlo para que habrá una ventana, pero no se como poner le las propiedades de un PopUp a esa ventana, osea, que no tenga barra de herramientas, barra de navegación, tamaño predefinido...

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas