2009-06-04 18 views
7

Sto caricando un film SWF in una pagina HTML utilizzando SWFObject. Voglio ridimensionare questo SWF in modo dinamico. Come può aiutare SWFObject? Sono sicuro di non avere la soluzione write my own.Ridimensionare un SWF quando lo si carica con SWFObject

+0

Penso che sia necessario chiarire cosa intendi per "ridimensionare" il flash swf. Il modo in cui agirà "internamente" quando le modifiche alla dimensione incorporata dipendono da come hai fatto il swf in primo luogo. – grapefrukt

+0

Ho bisogno di ridimensionare il contenitore SWF ... BTW Conosco le opzioni di ridimensionamento (Stage.scaleMode) e di allineamento (Stage.align) impostate all'interno del flash SWF che influiscono sul modo in cui i contenuti vengono influenzati dal ridimensionamento del contenitore. –

risposta

24

La soluzione più semplice è incorporare il file SWF all'interno di un contenitore div, quindi utilizzare JavaScript e CSS per ridimensionare dinamicamente il contenitore DIV. Se il file SWF è impostato su 100% larghezza/altezza, si estenderà per adattarsi al wrapper ogni volta che il wrapper viene ridimensionato.

Nel corpo:

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

Nella testa:

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

Ora ogni volta che si ridimensiona #wrapper, il file SWF scalerà per riempirlo.

4

Check out swffit, dovrebbe corrispondere perfettamente al conto.

+0

Non ridimensiona il flash SWF, fa solo qualcosa al Div che lo tiene. Voglio in realtà scalare il flash SWF in su e in giù in modo simile al ridimensionamento della finestra del solitario. –

-1

Credo che il codice di cui sopra dovrebbe leggere:

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

Questo commento è sbagliato: Perché dovresti impostare il wrapper al 100% quando il suo scopo deve essere ridimensionato? Prendi solo in considerazione la risposta @pipwerks. –

1

questo non ha funzionato per me, ma ha fatto alcune piccole modifiche, come indicato nella http://code.google.com/p/swfobject/wiki/faq sezione "Come posso creare un file SWF che coinvolgerà 100% del la finestra del browser? "

come questo

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

e perfetto!

Problemi correlati