20cent Posté 6 Juin 2005 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.
Dudu Posté 6 Juin 2005 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
20cent Posté 7 Juin 2005 Auteur 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.
Xavier Posté 7 Juin 2005 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
Eclipsis Posté 7 Juin 2005 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
20cent Posté 10 Juin 2005 Auteur 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.
Xavier Posté 10 Juin 2005 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant