Aller au contenu

Validation W3C, flash et dreamweaver


furious Gontran

Sujets conseillés

Bonjour,

Voici mon code pour integrer du flash à ma page:

    <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="655" height="145">
     <param name="movie" value="images/InfiniteMenu.swf">
     <param name="quality" value="high">
     <embed src="images/InfiniteMenu.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="655" height="145"></embed></object>

C'est le code fournis par dreamweaver.

Voici ce que me dis le validateur W3C:

Line 137 column 17: there is no attribute "SRC".

      <embed src=images/InfiniteMenu.swf quality="high" pluginspage=&quot;http://www.

Line 137 column 23: element "EMBED" undefined.

      <embed src=images/InfiniteMenu.swf quality="high" pluginspage=&quot;http://www.

Line 137 column 183: end tag for element "EMBED" which is not open.

...ash" width="655" height="145"></embed></object>

Alors...

ma source est bien donnée (avec ou sans guillemets ca change rien)

La balise embed n'est pas W3C ??

Je dois l'enlever ?

Quelles en seront les consequences ??

Lien vers le commentaire
Partager sur d’autres sites

 <object type="application/x-shockwave-flash" data="../.swf" width="730" height="560">
  <param name="wmode" value="Transparent">
  <param name="movie" value="../.swf">
  <param name="quality" value="high">
  <param name="menu" value="false">
</object>

Voila le code que j'utilise :)

Lien vers le commentaire
Partager sur d’autres sites

Ah ok...

alors la balise embed est devenue obsolete sauf pour dream ??? :boude:

De plus,

Mon code php me provoque des erreurs comme par exemple

echo "<a href='machin.php?id=".$id."">tut</a>";

Car il considere id comme l'id HTML...

C'est grave docteur ?

ou je peux laisser ca comme ca ?

Modifié par furious Gontran
Lien vers le commentaire
Partager sur d’autres sites

Si la variable $id contient des caractères comme des esperlettes (&), le validateur va bloquer dessus. D'ailleurs, si ta page est XHTML, c'est en fait n'importe quel parseur XML qui va bloquer.

Il faut les encoder ;)

& donnera donc & par exemple, et c'est le navigateur qui va se charger tout seul de restituer une esperlette normale.

Le plus simple et le plus sage est de faire appel à la fonction PHP htmlspecialchars() avec dedans la variable à encoder.

Plus complexe (donc plus puissant aussi):

  • la fonction PHP htmlspecialentities()
    à utiliser de la même manière qu'htmlspecialchars
  • la fonction PHP ini_set() pour changer dans une seule page PHP tous les séparateurs d'arguments
    exemple:<?php ini_set('arg_separator.output','&'); ?>
  • une règle Apache à placer dans un .htaccess pour faire la même chose que précédemment, mais sur tout un répertoire
    php_value arg_separator.output &
  • enfin le summum du top du best: éditer son fichier php.ini (si l'on y a accès, c'est-à-dire quand on a son propre serveur ou un dédié):
    arg_separator.output = "&"

PS: la balise <embed> est effectivement dépréciée par le w3c. Et sinon le meilleur moyen d'insérer du Flash proprement reste la méthode Flash Satay (Flash Satay en VO, Flash Satay en français)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...