2009-06-04 3 views
7

Я загружаю SWF-фильм на HTML-страницу, используя SWFObject. Я хочу изменить размер SWF динамически. Как SWFObject поможет? Уверен, что мне не нужно решение write my own.Изменение размера SWF при загрузке SWFObject

+0

Я думаю, вам нужно уточнить, что вы подразумеваете под «изменением размера» вспышки swf. Способ, которым он будет действовать «внутренне», когда изменения встроенного размера зависят от того, как вы сделали swf в первую очередь. – grapefrukt

+0

Мне нужно изменить размер контейнера SWF ... BTW Я знаю параметры масштабирования (Stage.scaleMode) и align (Stage.align), установленные в Flash SWF, которые влияют на то, как содержимое влияет на размер контейнера. –

ответ

24

Самое легкое решение - вставить 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 будет масштабироваться, чтобы заполнить его.

4

Отъезд swffit, он должен соответствовать счету отлично.

+0

Он не изменяет размер Flash SWF, он только делает что-то в Div, которое его удерживает. Я хочу на самом деле масштабировать Flash SWF вверх и вниз, как изменение размера окна Solitaire. –

-1

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

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

Этот комментарий неверен: зачем вы устанавливаете оболочку на 100%, когда ее цель должна быть изменена? Учитывайте только ответ @pipwerks. –

1

Это не работает для меня, но сделал некоторые небольшие изменения, как указано в 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> 

и отлично!

Смежные вопросы