2009-06-04 10 views
7

Estoy cargando una película SWF en una página HTML usando SWFObject. Quiero cambiar el tamaño de este archivo SWF dinámicamente. ¿Cómo puede ayudar SWFObject? Estoy seguro de que no tengo que write my own solución.Cambiar el tamaño de un archivo SWF al cargarlo con SWFObject

+0

Creo que necesita aclarar lo que quiere decir con "cambiar el tamaño" del flash swf. La forma en que actuará "internamente" cuando se trata de cambios de tamaño incrustados depende de cómo haya creado el swf en primer lugar. – grapefrukt

+0

Necesito cambiar el tamaño del contenedor SWF ... Por cierto, sé acerca de las opciones de escala (Stage.scaleMode) y alineación (Stage.align) establecidas dentro del SWF flash que afectan cómo se ve afectado el contenido a medida que cambia el tamaño del contenedor. –

Respuesta

24

La solución más fácil es insertar el archivo SWF dentro de un contenedor div, luego usar JavaScript y CSS para cambiar el tamaño dinámicamente del contenedor DIV. Si el archivo SWF está configurado en 100% de ancho/alto, se estirará para ajustarse al contenedor cada vez que se cambie el tamaño del contenedor.

En el cuerpo:

<div id="wrapper"> 
<div id="flash">This div will be replaced by an object via SWFObject</div> 
</div> 

En la cabeza:

<script> 
var flashvars = {}; 
var params = { scale: "exactFit" }; 
var attributes = {}; 

swfobject.embedSWF("myContent.swf", "flash", "100%", "100%", "9.0.0","expressInstall.swf", flashvars, params, attributes); 
</script> 

<style type="text/css"> 
#flash { 
    display: block; 
    width: 100%; 
    height: 100%; 
} 
</style> 

Ahora cada vez que cambia el tamaño de #wrapper, el SWF se escala para llenarlo.

4

Echa un vistazo swffit, debe encajar a la perfección.

+0

No cambia el tamaño del flash SWF, solo le hace algo a la Div que lo sostiene. Quiero realmente escalar el flash SWF hacia arriba y hacia abajo de forma muy similar a cambiar el tamaño de la ventana del Solitario. –

-1

Creo que el código anterior debe decir:

#wrapper { 
    display: block; 
    width: 100%; 
    height: 100%; 
} 
+0

Este comentario es incorrecto: ¿por qué debería establecer el contenedor al 100% cuando se va a redimensionar su propósito? Solo toma en cuenta la respuesta de @pipwerks. –

1

esto no funcionó para mí, pero hice algunos pequeños cambios como se indica en http://code.google.com/p/swfobject/wiki/faq sección "¿Cómo puedo crear un archivo SWF que abarcará el 100% de la ventana del navegador? "

ya que esto

<style type="text/css" media="screen"> 
    html, body, #containerA, #containerB { height:100%; } 
    body { margin:0; padding:0; overflow:hidden; } 
</style> 

y perfecto!

Cuestiones relacionadas