[RESOLU] innerHTML valide XHTML 1.1

LinKuFF
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 28 Oct 2005

[RESOLU] innerHTML valide XHTML 1.1

Message le Sam Fév 25, 2006 15:52

Salut à tous,

J'ai un menu qui lorsqu'on passe sur un lien affiche un descriptif à un endroit de ma page. Pour cela j'ai utilisé un script tout simple :

Code: Tout sélectionner
<script type="text/javascript">
   descr=new Array;
   descr[0]='Vous êtes ici : <a href="/">Accueil</a>';
   descr[1]='<strong>ACCUEIL :</strong> Page d\'accueil';
   descr[2]='<strong>PERSO :</strong> Page avec diverses informations personnelles';
   descr[3]='etc...';
</script>


Et sur les liens j'ai mis :
Code: Tout sélectionner
<a href="/" title="Accueil du site" onmouseover="document.getElementById('navigation').innerHTML=descr[1];" onmouseout="document.getElementById('navigation').innerHTML=descr[0];">Accueil</a>


Le problème dans tout ça c'est que ma page doit être Valid XHTML 1.1... du coup j'ai des erreurs du style :

Error Line 10 column 43: document type does not allow element "a" here.
...cr[0]='Vous êtes ici : <a href="/">Accueil</a>
The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).


Avez-vous une solution ? :(
Dernière édition par LinKuFF le Sam Fév 25, 2006 17:38, édité 1 fois.

Genesys
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 32
Inscription: 2 Mar 2004

Message le Sam Fév 25, 2006 17:03

Placer un antislash devant le slash.

LinKuFF
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 28 Oct 2005

Message le Sam Fév 25, 2006 17:08

Genesys a écrit:Placer un antislash devant le slash.


Pas de changement, mais cela ne vient pas du \ mais de la balise a qui est dans le javascript. Idem pour les autres balises :

Error Line 12 column 20: document type does not allow element "strong" here.
descr[1]='<strong>ACCUEIL :</strong> Page d\'accueil avec l\'actualité sur m


Error Line 13 column 20: document type does not allow element "strong" here.
descr[2]='<strong>PERSO :</strong> Page avec diverses informations personnell


Faudrait que j'arrive à trouver un astuce ou un script de remplacement pour le résultat souhaité mais en valid XHTML 1.1

Genesys
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 32
Inscription: 2 Mar 2004

Message le Sam Fév 25, 2006 17:15

Pour ainsi dire, il faut échapper tous les slashs dans un javascript (balises de fin A, STRONG, etc.).

LinKuFF
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 28 Oct 2005

Message le Sam Fév 25, 2006 17:30

Genesys a écrit:Pour ainsi dire, il faut échapper tous les slashs dans un javascript (balises de fin A, STRONG, etc.).


Aucun changement :
Error Line 11 column 45: document type does not allow element "a" here.

desc[0]='Vous êtes ici : <a href="\/">Accueil<\/a>';

The element named above was found in a context where it is not allowed. This could mean that you have incorrectly nested elements -- such as a "style" element in the "body" section instead of inside "head" -- or two elements that overlap (which is not allowed).

One common cause for this error is the use of XHTML syntax in HTML documents. Due to HTML's rules of implicitly closed elements, this error can create cascading effects. For instance, using XHTML's "self-closing" tags for "meta" and "link" in the "head" section of a HTML document may cause the parser to infer the end of the "head" section and the beginning of the "body" section (where "link" and "meta" are not allowed; hence the reported error).

LinKuFF
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 28 Oct 2005

Message le Sam Fév 25, 2006 17:38

Il suffisait d'y penser :) J'ai remplacé :

Code: Tout sélectionner
<script type="text/javascript">
   descr=new Array;
   descr[0]='Vous êtes ici : <a href="/">Accueil</a>';
   descr[1]='<strong>ACCUEIL :</strong> Page d\'accueil';
   descr[2]='<strong>PERSO :</strong> Page avec diverses informations personnelles';
   descr[3]='etc...';
</script>


par :

Code: Tout sélectionner
<script type="text/javascript" src="/v8/navigation.js"></script>


en mettant le contenu dans le navigation.js. Du coup c'est bien valid xhtml 1.1 :)

madx
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 303
Inscription: 19 Juin 2003

Message le Sam Fév 25, 2006 17:41

Essaye
<script type="text/JavaScript">
//<![CDATA[
<!--
ton code

//-->
//]]>
</script>

LinKuFF
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 7
Inscription: 28 Oct 2005

Message le Sam Fév 25, 2006 17:51

madx a écrit:Essaye
<script type="text/JavaScript">
//<![CDATA[
<!--
ton code

//-->
//]]>
</script>


Ah nickel ! ça marche bien :)
Par contre ça marche aussi bien comme ça :
Code: Tout sélectionner
<script type="text/JavaScript">
<!--
mon code

//-->
</script>


Donc à quoi servent les //<![CDATA[ et //]]> ?

madx
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 303
Inscription: 19 Juin 2003

Message le Sam Fév 25, 2006 18:07

c est pour le XHTML 1.1


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités