Изменение размера SWF при загрузке с помощью SWFObject

Я загружаю SWF-фильм на HTML-страницу с помощью SWFObject. Я хочу динамически изменять размер этого SWF. Чем может помочь SWFObject? Я уверен, что мне не нужно писать собственное решение.


person Robin Rodricks    schedule 04.06.2009    source источник
comment
Я думаю, вам нужно уточнить, что вы подразумеваете под изменением размера flash swf. То, как он будет действовать внутри при изменении встроенного размера, зависит, прежде всего, от того, как вы создали swf.   -  person grapefrukt    schedule 05.06.2009
comment
Мне нужно изменить размер SWF-контейнера... Кстати, я знаю о параметрах масштабирования (Stage.scaleMode) и выравнивания (Stage.align), установленных в Flash SWF, которые влияют на то, как содержимое изменяется при изменении размера контейнера.   -  person Robin Rodricks    schedule 05.06.2009


Ответы (4)


Самое простое решение — встроить SWF в DIV-контейнер, а затем использовать JavaScript и CSS для динамического изменения размера DIV-контейнера. Если для SWF задано значение ширины/высоты 100 %, он будет растягиваться, чтобы соответствовать оболочке при изменении ее размера.

В организме:

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

В голове:

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

Теперь всякий раз, когда вы изменяете размер #wrapper, SWF будет масштабироваться, чтобы заполнить его.

person pipwerks    schedule 17.06.2009

Проверьте swffit, он должен идеально соответствовать всем требованиям.

person grapefrukt    schedule 04.06.2009
comment
Он не изменяет размер flash SWF, он только что-то делает с Div, который его содержит. Я хочу на самом деле масштабировать флэш-SWF вверх и вниз, как изменение размера окна Solitaire. - person Robin Rodricks; 05.06.2009

У меня это не сработало, но были внесены небольшие изменения, как указано в http://code.google.com/p/swfobject/wiki/faq раздел "Как создать SWF-файл, который будет занимать 100 % окна браузера?"

как это

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

и идеально!

person Riga    schedule 30.08.2010

Я считаю, что код выше должен читать:

#wrapper {
   display: block;
   width: 100%;
   height: 100%;
}
person Community    schedule 17.08.2009
comment
Этот комментарий неверен: зачем вам устанавливать оболочку на 100%, если ее цель - изменить размер? Учитывайте только ответ @pipwerks. - person Gil Zumbrunnen; 16.08.2012