Jump to content
Sign in to follow this  
furious Gontran

Validation W3C, flash et dreamweaver

Rate this topic

Recommended Posts

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

Share this post


Link to post
Share on other 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 :)

Share this post


Link to post
Share on other 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 ?

Edited by furious Gontran

Share this post


Link to post
Share on other 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)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...