Version complète: sur le forum Webmaster Hub : Javascript et entités HTML
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net
20cent
Bonsoir,

Question toute bête : comment passer une entité HTML ("→" dans mon exemple) dans du code javascript ?
Mes essais restent infructueux. mellow.gif

CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
    <head>
 <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-15" />
 <title></title>
 <script type="text/javascript">
     function fleche()
     {
   div = document.getElementById("test");
   texte = document.createTextNode("&rarr;");
   div.appendChild(texte);
     }
     window.onload = function()
     {
   fleche();
     }
 </script>
    </head>
    <body>
 <div id="test"></div>
    </body>
</html>


Merci d'avance pour vos réponses. smile.gif
Dudu
Si je ne m'abuse, le Javascript ne connait pas les entiés HTML, il faut tout écrire tel quel (les accents, les guillemets, les caractères bizarres, etc.).

Donc, il faut que écrives ta flèche tel quel.
2 solutions:
  • tu la tapes directement sur le clavier
    • sous Mac OS X: depuis n'importe quelle appli -> "Édition">"Caractères spéciaux"
    • sous Windows ou Linux: aucune idée (désolé) blush.gif
  • tu écris une page html quasi-vide avec ton &rarr; à l'intérieur et tu copies-colles
20cent
Zut de zut !
Déjà testé... tongue.gif
20cent
Déjà testé mais... pas dans un éditeur supportant l'unicode ! blush.gif
Je vais tester ça dès ce soir, je pense que ça devrait le faire au final.

Merci.
Xavier
Tu peux également "échapper" les caractères en unicode
CODE
texte = document.createTextNode("\uXXXX");

où XXXX est le code unicode que tu peux normalement trouver ici si je ne me suis pas une fois de plus embrouillé les pinceaux wink.gif
Eclipsis
Tout à fait d'accord avec Xavier, a priori, le code suivant doit marcher:
CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=iso-8859-15" />
<title></title>
<script type="text/javascript">
 function fleche()
 {
  div = document.getElementById("test");
  texte = document.createTextNode("\u2192");
  div.appendChild(texte);
 }
 window.onload = function()
 {
  fleche();
 }
</script>
</head>
<body>
<div id="test"></div>
</body>
</html>


Plus compliqué à utiliser que le site donné par Xavier, mais très complet, ce site (en anglais) donne de nombreux détails sur les caractères Unicode...
A+ smile.gif
20cent
C'est parfait : ça fonctionne !
Merci à tous. smile.gif
20cent
Hors sujet :

Le lien de la page finalisée pour les curieux : http://www.20cent.net/miseOpoint/
N'hésitez pas si vous avez des remarques.

smile.gif
Xavier
C'est très joli, ça se dégrade bien sans Javascript et/ou sans CSS, juste le fait que le code est un peu alourdi par le CSS et le javascript qui feraient mieux d'être externes, mais franchement bravo wink.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.