2009-06-04 6 views
7

Je charge un film SWF dans une page HTML à l'aide de SWFObject. Je veux redimensionner dynamiquement ce fichier SWF. Comment SWFObject peut-il aider? Je suis sûr que je n'ai pas de solution write my own.Redimensionnement d'un fichier SWF lors du chargement avec SWFObject

+0

Je pense que vous devez clarifier ce que vous entendez par "redimensionner" le swf flash. La façon dont il agira «en interne» lorsque les changements de taille intégrés dépend de la façon dont vous avez créé le swf en premier lieu. – grapefrukt

+0

Je dois redimensionner le conteneur SWF ... BTW Je connais les options de mise à l'échelle (Stage.scaleMode) et d'alignement (Stage.align) définies dans le fichier SWF flash qui affectent la façon dont le contenu est affecté lorsque le conteneur est redimensionné. –

Répondre

24

La solution la plus simple consiste à incorporer le fichier SWF dans un conteneur div, puis d'utiliser JavaScript et CSS pour redimensionner dynamiquement le conteneur DIV. Si le SWF est défini sur 100% largeur/hauteur, il s'étendra pour s'adapter à l'encapsuleur à chaque fois que l'encapsuleur est redimensionné.

Dans le corps:

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

Dans la tête:

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

Maintenant, chaque fois que vous redimensionnez #wrapper, le SWF échelle pour le remplir.

4

Vérifiez swffit, il convient parfaitement.

+0

Il ne redimensionne pas le fichier SWF flash, il ne fait que quelque chose à la Div qui le détient. Je veux réellement mettre à l'échelle le SWF flash de haut en bas un peu comme redimensionner la fenêtre Solitaire. –

-1

Je crois que le code devrait lire ci-dessus:

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

Ce commentaire est faux: Pourquoi voudriez-vous définir l'emballage à 100% lorsque son objectif doit être redimensionné? Ne prenez en compte que la réponse de @pipwerks. –

1

Cela ne fonctionne pas pour moi, mais fait quelques petits changements, comme indiqué dans http://code.google.com/p/swfobject/wiki/faq section « Comment puis-je créer un fichier SWF qui englobera 100% la fenêtre du navigateur? "

que cette

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

et parfait!

Questions connexes