FrancaisAdobe Flex Tutorial
jeux flash gratuit
Besoin d'aide pour progresser au poker? Venez suivre les conseils des spécialistes sur Launchpoker: il ne vous faudra pas longtemps pour devenir à votre tour un vrai pro du Texas Holdem.

[Web] - Inclure un SWF Flash dans une page (X)HTML valide


La méthode pour conserver une validation W3C avec des éléments flash
flash satay methode w3c xhtml

Par défaut, Flash génère un fichier HTML invalide lors de la publication (mais qui fonctionne). L'importance du respect des standards n'est aujourd'hui plus à prouver et on peut donc se demander comment intégrer son swf sans soucis. Pour cela, une méthode à été developpée par Drew McLellan dans son article "Flash Satay: Embedding Flash While Supporting Standards".
Les objectifs de cette méthode sont de:
  • Produire un code simple et standard pour l'insertion de swf Flash
  • Utiliser seulement du (X)HTML valide
  • Produit un seul fragment de code qui fonctionne à la fois sous Internet Explorer et Netscape
  • Garder les fonctionnalités des approches non-valides



La methode "Twice-Cooked"

Comme je l'ai dit plus haut, le fichier html publié par Flash utilise des balises non valides (X)HTML. Elle est cependant utilisée dans 99% des sites web.
Voila le code produit par flash :
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="550" height="400" id="a_suppr" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="swf-non-valide.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" /><embed src="swf-non-valide.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="swf-non-valide" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>

On peut voir que cette portion de code est assez volumineuse.
Deux tags principaux sont ici utilisés : <object> et <embed>, ce qui oblige à déclarer chaque valeur deux fois. Internet Explorer et associés utilisent le tag <object> alors que Netscape prend en compte le tag <embed>. C'est la raison pour laquelle on l'appelle la méthode "Twice-Cooked".
La balise <object> est bien valide (X)HTML et on peut lui passer des paramètres grâce à la balise <param>.
La balise <embed> n'est pas dans les spécifications (X)HTML.



La methode Satay

Voila la version Flash Satay du code précédent :
<object type="application/x-shockwave-flash" data="swf-valide.swf" width="300" height="350">
<param name="movie" value="swf-valide.swf" />
</object>
Pour rendre le fond du swf transparent, il suffit de rajouter entre les balises <object> :
<param name="wmode" value="transparent" />
Cette methode est propre et fonctionne, il vous suffit de modifier les nom de fichier ainsi que les paramètres de taille width et height. C'est la méthode utilisée pour inclure les jeux flash pixtiz.



L'inconvénient de la methode Satay

La méthode Satay n'est pas parfaite mais cela peut se contourner. Si vous l'avez implantée sur votre site, vous avez peut-être remarqué que IE/Windows ne "stream" pas le fichier et attend qu'il soit complètement chargé avant de le lire.
La méthode pour résoudre ce problème est de créer un nouveau fichier flash et d'écrire le code ActionScript suivant sur la première image au niveau root :
_root.loadMovie(_root.path,0);
Cette portion de code demande à flash de charger un fichier flash contenu dans la variable "path" au niveau 0. Flash peut le faire facilement, juste en appelant le fichier comme ceci :
c.swf?path=movie.swf
Le fichier conteneur est alors c.swf a qui je passe une variable path dont la valeur est movie.swf. Cela revient à faire :
_root.loadMovie("movie.swf",0);
Bien sur, il faut remplacer movie.swf par le fichier que vous voulez vraiment charger. Cette methode ne fonctionnera que si votre clip conteneur est très petit en taille (quelques Ko).




Un cadeau de noël original pour les graphistes CSS ! >

< Hack CSS et Commentaires Conditionnels pour IE7




Commentaires

Vous devez être inscrit pour pouvoir ajouter un commentaire
bouton inscription jeux
Aide | Contact | Règlement | Plan du Site | tutorial illustrator flash css php