Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Resize an SWF when loading it with SWFObject

I'm loading an SWF movie into an HTML page using SWFObject. I want to resize this SWF dynamically. How can SWFObject help? I'm sure I don't have to write my own solution.

like image 687
Robin Rodricks Avatar asked Jun 04 '09 19:06

Robin Rodricks


3 Answers

The easiest solution is to embed the SWF within a container div, then use JavaScript and CSS to dynamically resize the container DIV. If the SWF is set to 100% width/height, it will stretch to fit the wrapper whenever the wrapper is resized.

In the body:

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

In the head:

<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>

Now whenever you resize #wrapper, the SWF will scale to fill it.

like image 120
pipwerks Avatar answered Nov 09 '22 12:11

pipwerks


Check out swffit, it should fit the bill perfectly.

like image 20
grapefrukt Avatar answered Nov 09 '22 12:11

grapefrukt


This did not work for me but did some small changes as indicated in http://code.google.com/p/swfobject/wiki/faq section "How can I create a SWF that will encompass 100% of the browser window?"

as this

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

and perfect!

like image 25
Riga Avatar answered Nov 09 '22 13:11

Riga