Comunidad de diseño web y desarrollo en internet online

Llamando Javascript desde Flash

Citar            
MensajeEscrito el 22 Dic 2009 02:34 pm
Tengo un botón en un swf con el que pretendo hacer abrir una nueva ventana de browser

Aqui el código

Código ActionScript :

//Button btnAbrir;

import flash.external.ExternalInterface;

btnAbrir.addEventListener(MouseEvent.CLICK, abrir );

function abrir ( evento:MouseEvent ):void
{
   ExternalInterface.call("javascript:NewWindow('http://pluspixel.com.br/blogger/marcas.html','name','850','500','yes') ;return false");
}


Y este es el html

Código HTML :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Abrindo com Flash</title>
<script type="text/javascript" src="http://pluspixel.com.br/blogger/js/nwindow.js"></script>
<script src="Scripts/swfobject_modified.js" type="text/javascript"></script>
</head>
<body>
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="150" height="150" id="FlashID" title="abrindo">
  <param name="movie" value="abrindo.swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="opaque" />
  <param name="swfversion" value="6.0.65.0" />
  <!-- Esta etiqueta param indica a los usuarios de Flash Player 6.0 r65 o posterior que descarguen la versión más reciente de Flash Player. Elimínela si no desea que los usuarios vean el mensaje. -->
  <param name="expressinstall" value="Scripts/expressInstall.swf" />
  <!-- La siguiente etiqueta object es para navegadores distintos de IE. Ocúltela a IE mediante IECC. -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="abrindo.swf" width="150" height="150">
    <!--<![endif]-->
    <param name="quality" value="high" />
    <param name="wmode" value="opaque" />
    <param name="swfversion" value="6.0.65.0" />
    <param name="expressinstall" value="Scripts/expressInstall.swf" />
    <!-- El navegador muestra el siguiente contenido alternativo para usuarios con Flash Player 6.0 o versiones anteriores. -->
    <div>
      <h4>El contenido de esta página requiere una versión más reciente de Adobe Flash Player.</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Obtener Adobe Flash Player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>
<script type="text/javascript">
<!--
swfobject.registerObject("FlashID");
//-->
</script>
</body>
</html>


El problema es que no está funcionando.

Si alguien tiene alguna idea desde ya muchas gracias. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Dic 2009 12:37 pm
En el code que mostraste estás llamando a una función NewWindow que debería existir en el HTML contenedor, pero lo estás haciendo como si utilizaras el antiguo getURL (una cadena entera conteniendo los comandos de JS)
Si vas a usar ExternalInterface, escribe una función en el HTML que quieras llamar, si lo quieres hacer a la vieja usanza en AS3 usa navigateToURL(cadena), puedes pillar una cadena correcta aquí: http://www.flash-db.com/PopUp/

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 24 Dic 2009 06:26 pm
Jorge, leí várias veces tu respuesta y no entendí muy bien.

Vos decís asi:

"En el code que mostraste estás llamando a una función NewWindow que debería existir en el HTML contenedor"

La función que llamo existe en el HTML contenedor. Después agregás

pero lo estás haciendo como si utilizaras el antiguo getURL (una cadena entera conteniendo los comandos de JS)

Utillicé esta forma de trabajo para cerrar una ventana através del Flash y funcionó. Pero olvidemos ahora esto y vamos a tu sugerencia,

Si vas a usar ExternalInterface, escribe una función en el HTML que quieras llamar,

esa función ya la escribí...o no?

si lo quieres hacer a la vieja usanza en AS3 usa navigateToURL(cadena)


Por que decís vieja usanza? te referís al AS2?

puedes pillar una cadena correcta aquí: http://www.flash-db.com/PopUp/

Esta cadena que és?...un Javascript?

Desde ya muchas gracias y Felíz Navidad. Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 26 Dic 2009 12:31 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 26 Dic 2009 06:52 pm
MUCHAS GRACIAS amigo Jorge ahora funcionó.

Claudio

Por Ishkandar

Claber

303 de clabLevel



Genero:Masculino  

firefox

 

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