Недавно у меня была такая же проблема, я установил высоту и ширину на 100%, и Firefox не будет отображать, IE9 будет сжимать swf до верха высоты страницы: 100 пикселей или что-то в этом роде Я исправил это с помощью JavaScript, фактически jQuery (просто потому, что он был доступен):
По сути, FF не нравится% значения, когда вы измеряете размер, и IE9 имеет другую проблему. Если вы добавите статические значения, у вас не будет проблем. Но мы не хотим статических значений, не так ли?
В любом случае, я решил свою проблему, сказав JavaScript написать для меня Flash-тег и вставить статические значения в зависимости от размера экрана.
<script type="text/javascript">
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="' + $(window).width() + '" height="' + Math.round(($(window).width()*11)/24) + '" id="YourMovieID" align="middle">
<param name="movie" value="YourMovie.swf"/>
<param name="wmode" value="opaque" />
<param name="scale" value="exactfit" />
<!--[if !IE]>-->
<object type="application/x-shockwave-flash" data="YourMovie.swf" width="' + $(window).width() + '" height="' + Math.round(($(window).width()*11)/24) + '" >
<param name="movie" value="YourMovie.swf"/>
<param name="wmode" value="opaque" />
<param name="scale" value="exactfit" />
<!--<![endif]-->
<!--[if !IE]>--></object>
<!--<![endif]-->
</object>')
</script>
Я использовал $(window).width()
, чтобы получить ширину экрана, а затем Math.round(($(window).width()*11)/24)
, потому что пропорции моего фильма были 24X11.
Опять же, это было мое решение jQ, потому что оно было доступно, вы можете использовать screen.width, чтобы получить его. Возможно, вам придется сжать все до одной строки, хотя я просто расположил ее так, чтобы вы могли видеть, что происходит.