20cent Posté 6 Juin 2005 Partager Posté 6 Juin 2005 Bonsoir, Question toute bête : comment passer une entité HTML ("→" dans mon exemple) dans du code javascript ? Mes essais restent infructueux. <!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("→"); div.appendChild(texte); } window.onload = function() { fleche(); } </script> </head> <body> <div id="test"></div> </body></html> Merci d'avance pour vos réponses. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dudu Posté 6 Juin 2005 Partager Posté 6 Juin 2005 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é) [*]tu écris une page html quasi-vide avec ton → à l'intérieur et tu copies-colles Lien vers le commentaire Partager sur d’autres sites More sharing options...
20cent Posté 6 Juin 2005 Auteur Partager Posté 6 Juin 2005 Zut de zut ! Déjà testé... Lien vers le commentaire Partager sur d’autres sites More sharing options...
20cent Posté 7 Juin 2005 Auteur Partager Posté 7 Juin 2005 Déjà testé mais... pas dans un éditeur supportant l'unicode ! Je vais tester ça dès ce soir, je pense que ça devrait le faire au final. Merci. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xavier Posté 7 Juin 2005 Partager Posté 7 Juin 2005 Tu peux également "échapper" les caractères en unicode 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Eclipsis Posté 7 Juin 2005 Partager Posté 7 Juin 2005 (modifié) Tout à fait d'accord avec Xavier, a priori, le code suivant doit marcher: <!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+ Modifié 7 Juin 2005 par Eclipsis Lien vers le commentaire Partager sur d’autres sites More sharing options...
20cent Posté 8 Juin 2005 Auteur Partager Posté 8 Juin 2005 C'est parfait : ça fonctionne ! Merci à tous. Lien vers le commentaire Partager sur d’autres sites More sharing options...
20cent Posté 10 Juin 2005 Auteur Partager Posté 10 Juin 2005 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. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Xavier Posté 10 Juin 2005 Partager Posté 10 Juin 2005 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant