Validation W3C : JS et Antislashes

Validation W3C : JS et Antislashes - HTML/CSS - Programmation

Marsh Posté le 29-08-2008 à 11:15:17    

Bonjour,
 
 
J'ai un problème de validation W3C.
 
Les erreurs :
 Line 107, Column 63: XML Parsing Error: AttValue: " or ' expected .  
…d('logo_chaine').innerHTML="<img src=\"images/logos_chaines/logo_"+chaine+".g✉  
 Line 107, Column 63: XML Parsing Error: attributes construct error .  
…d('logo_chaine').innerHTML="<img src=\"images/logos_chaines/logo_"+chaine+".g✉  
 Line 107, Column 63: XML Parsing Error: Couldn't find end of Start Tag img line 107 .  
…d('logo_chaine').innerHTML="<img src=\"images/logos_chaines/logo_"+chaine+".g
 
Le code en question :

Code :
  1. <script language="javascript" type="text/javascript">
  2. function affichage_logo(chaine)
  3. {
  4.     document.getElementById('logo_chaine').innerHTML="<img src=\"images/logos_chaines/logo_"+chaine+".gif\" alt=\"\" />";
  5. }
  6. </script>


 
Apparemment, il arrive pas à digérer le fait que j'utilise des antislashes dans la portion de code JavaScript.
 
Je ne vois pas quoi utiliser d'autre... Des idées ?


Message édité par zoukoufxxx le 29-08-2008 à 11:16:14

---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
Reply

Marsh Posté le 29-08-2008 à 11:15:17   

Reply

Marsh Posté le 29-08-2008 à 11:16:14    

Les scripts doivent toujours être dans un CDATA.

Reply

Marsh Posté le 29-08-2008 à 11:16:45    

<script type="javascript">
<![CDATA[
  function doSomeThing()
  {
  }
]]>
</script>


Message édité par MagicBuzz le 29-08-2008 à 11:17:20
Reply

Marsh Posté le 29-08-2008 à 11:18:59    

Merci beaucoup pour la réponse et l'information. :jap:  
 
Cela permet de ne pas interpréter le balisage du script ?


---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
Reply

Marsh Posté le 29-08-2008 à 11:26:18    

exactement.

Reply

Marsh Posté le 29-08-2008 à 11:28:02    

sinon, la méthode old school (avant l'apparition du <![CDATA[ c'était de mettre un commentaire HTML autour du script :
 
<script type="javascript">  
<!--  
  function doSomeThing()  
  {  
  }  
//-->  
</script>
 
mais la suite "--" est interdite en XSL, donc pour les transformations ça fout la merde si tu fais un "i--;" par exemple. Le CDATA est donc plus propre.
de plus, les <!-- --> sont complètement ignorés lors d'une transfo XSL, donc proutch, tu perds ton script ;)


Message édité par MagicBuzz le 29-08-2008 à 11:29:58
Reply

Marsh Posté le 29-08-2008 à 11:37:10    

rectification. sous IE de Vista, ça se comporte pas trop comme attendu, le parseur JS tente d'interpréter la balise CDATA :D
 
Donc comme ça ça marche, et ça valide.
 

Code :
  1. <?xml version="1.0"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  4.  <head>
  5.    <title>test</title>
  6.    <script type="text/javascript">
  7.      //<![CDATA[
  8.      function plop()
  9.      {
  10.        alert("plop \"test\"" );
  11.      }
  12.      window.onload = plop;
  13.      //]]>
  14.    </script>
  15.  </head>
  16.  <body>
  17.    <h1>test</h1>
  18.    <p>test</p>
  19.  </body>
  20. </html>


Message édité par MagicBuzz le 29-08-2008 à 11:41:19
Reply

Marsh Posté le 02-09-2008 à 20:19:03    

En effet, mon JS marchait plus.
J'avais donc modifié comme suit :
 

Code :
  1. <script language="javascript" type="text/javascript">
  2.       <!--/*--><![CDATA[//><!--
  3.       function affichage_logo(chaine) {
  4.         document.getElementById('logo_chaine').innerHTML = "<img src=\"images/logos_chaines/logo_" + chaine + ".gif\" alt=\"\" />";
  5.       }
  6.       //--><!]]>


 
Merci pour les explications. ;)


---------------
Le site des BD d'HFR | Aurélien Amacker : Arnaque ? - Mongolien du Web
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed