Comunidad de diseño web y desarrollo en internet online

Swf que lee variable de ancho de ventana del browser

Citar            
MensajeEscrito el 03 Abr 2009 02:24 am
Hola,

necesito que un swf lea una variable desde un javascript .

este código javascript lo encontré en esta pagina y lo que hace es que toma el ancho de la ventana del browser y lo muestra en un campo de texto en el html. si uno modifica el ancho de la ventana el valor se actualiza en el campo de texto

Código :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Cep.la - Window Height &amp; Width</title>
<link href="file:///Mac HD/Users/luispizarro/Desktop/css/all.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function getId(id){
   if(!document.getElementById)id = document.all[id];
   else id = document.getElementById(id);
   return id;
}
function getWinSize(){
   var size = new Object();
   size.w = document.documentElement.clientWidth;
   
   return size;
}

window.onresize = window.onload = function (){
   var size = getWinSize();
   getId("w").value = size.w;
   
   //alert(size.w+","+size.h);
}
</script>
</head>

<body>
<div class="center">
  <p>
    Width: &nbsp;
    <input type="text" name="w" id="w"/>
  
  </p>
 
</div>
<p id="cepF"><a href="/"></a>
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="550" height="400">
    <param name="movie" value="tomar_ancho.swf" />
    <param name="quality" value="high" />
    <embed src="tomar_ancho.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="550" height="400"></embed>
  </object>
</p>
</body>
</html>


Ahora lo que quiero hacer es poder leer este valor del ancho de la ventana del browser en el swf que esta en el html.

ósea que en el swf pueda tener una variable "ancho" y que esta variable tome el valor desde el javascript que muestra el ancho de la ventana. en mi ignorancia me imagino que esta variable debería estar dentro de un enterFrame para que se actualice siempre que se modifica el ancho de la ventana del browser.

esto lo quiero para modificar el espacio entre unos clips que tengo en el swf y así, si se modifica el ancho de la ventana, también se modificara el espacio entre los clips.

lo estoy haciendo en ActionScript 2
alguien me puede ayudar

Muchas gracias y saludos

Por Gon

23 de clabLevel



 

safari
Citar            
MensajeEscrito el 03 Abr 2009 11:45 am
hola, eso se puede hacer directamente desde ActionScript si las medidas del ember son 100% y 100%, aqui un ejemplo:

http://www.cristalab.com/tips/fondo-bitmap-que-se-ajusta-al-tamano-del-navegador-en-flash-c32220l/

Pero si no es tu caso, entonces podrias crear un onEnterFrame que "vigile" una variable de js, usando ExternalInterface, asi:

Código ActionScript :

import flash.external.*; 

function onEnterFrame( Void )
{
    var obj:Object = Object(ExternalInterface.call("getWinSize"));
    trace( "Medidas: " + obj.w  +"x"+ obj.h );
}


y en Javascript solo dejas esta función:

Código ActionScript :

function getWinSize(){
   var size = new Object();
   size.w = document.documentElement.clientWidth;
   size.h = document.documentElement.clientHeight;   
   return size;
}


tambien agrega esto al html

Código HTML :

<param name="allowScriptAccess" value="always" />


Te recomiendo ampliamente que insertes tus swf mediante SWFObject, para que ya no uses el <object classid="cl... bla bla bla.

Por LongeVie

Claber

1741 de clabLevel

1 tutorial

Genero:Masculino  

En un lugar, re moto.

firefox

 

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