Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1276 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  createTextNode et balises HTML

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

createTextNode et balises HTML

n°1085547
Gurney_Hal​leck
dévisage des figures
Posté le 16-05-2005 à 15:48:00  profilanswer
 

Salut à tous,
 
Voilà, j'aimerais savoir si c'est possible d'afficher des balises HTML dans une structure DOM, à partir d'un texte dont on ne connait pas à l'avance les balises (par exemple, dans une shoutbox ou un chat).
 
En fait, c'est pour une shoutbox qui marche avec AJAX, pour Wordpress : http://blog.jalenack.com/archives/ [...] -auredict/
 
Je n'ai certainement pas du tout comprendre, dans le DOM, mais je vois absolument pas comment on pourrait faire pour traiter n'importe quelle balise HTML, à moins de faire de traiter toutes les balises possibles (enfin, elles sont limitées par le script PHP qui tourne derrière).
 
Ou alors en utilisant innerHTML, mais ça non plus, je ne vois pas où mettre le .innerHTML, ça ne marche nulle part.
 
Voilà la partie HTML en question :

Code :
  1. function handlehHttpReceiveChat() {
  2.   if (httpReceiveChat.readyState == 4) {
  3.     results = httpReceiveChat.responseText.split('---'); //the fields are seperated by ---
  4.     if (results.length > 3) {
  5.     for(i=0;i < (results.length-1);i=i+4) { //goes through the result one message at a time
  6.      insertNewContent(results[i+1],results[i+2],results[i+3]); //inserts the new content into the page
  7.      lastID = results[i];
  8.     }
  9.     }
  10.     setTimeout('receiveChatText();',<?php echo $refresh_rate; ?> ); //executes the next data query in n seconds
  11.   }
  12. }
  13. //inserts the new content into the page
  14. function insertNewContent(liName,liText, lastResponse) {
  15. oOld = document.getElementById("comment-new" );
  16. if (oOld) {
  17. oOld.style.background = "<?php echo $fade_to_hex; ?>";
  18. oOld.setAttribute('idName',''); // Makes previous comment-new's regular
  19. oOld.setAttribute('id',''); // Makes previous comment-new's regular
  20. }
  21.     response = document.getElementById("responseTime" );
  22.     response.replaceChild(document.createTextNode(lastResponse), response.firstChild);
  23. insertO = document.getElementById("outputList" );
  24. oLi = document.createElement('li');
  25. oLi.setAttribute('idName','comment-new'); //for IE's sake
  26. oLi.setAttribute('id','comment-new');
  27. oSpan = document.createElement('span');
  28. oSpan.setAttribute('className','name'); //for IE's sake
  29. oSpan.setAttribute('class','name');
  30. oName = document.createTextNode(liName+': ');
  31. oText = document.createTextNode(liText);
  32. oSpan.appendChild(oName);
  33. oLi.appendChild(oSpan);
  34. oLi.appendChild(oText);
  35. Fat.fade_element("comment-new", 30, <?php echo $fade_speed; ?>, "<?php echo $fade_from_hex; ?>", "<?php echo $fade_to_hex; ?>" );
  36. insertO.insertBefore(oLi, insertO.firstChild);
  37. }


 
Si quelqu'un a une quelconque idée, ça sera le bienvenu !


---------------
Mon blog
mood
Publicité
Posté le 16-05-2005 à 15:48:00  profilanswer
 

n°1085592
masklinn
í dag viðrar vel til loftárása
Posté le 16-05-2005 à 16:00:04  profilanswer
 

innerHTML est une fonction membre des balises (éléments) HTML en Javascript, elle remplace l'intérieur de la balise (son HTML interne) par le texte que tu lui files.
 
createTextNode, lui, crée uniquement du texte, brut, quelle que soit sa tronche (même si ce sont des balises html) il ne contient que du texte non interprété.
 
Donc si tu donnes le contenu "<strong>Gnii</strong>" à un innerHTML ça va afficher "Gnii" avec le style défini pour strong
Alors que si tu balances ça dans un createTextNode, ça va afficher le texte "<strong>Gnii</strong>" dans la page


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
n°1085618
Gurney_Hal​leck
dévisage des figures
Posté le 16-05-2005 à 16:06:39  profilanswer
 

masklinn a écrit :

innerHTML est une fonction membre des balises (éléments) HTML en Javascript, elle remplace l'intérieur de la balise (son HTML interne) par le texte que tu lui files.
 
createTextNode, lui, crée uniquement du texte, brut, quelle que soit sa tronche (même si ce sont des balises html) il ne contient que du texte non interprété.
 
Donc si tu donnes le contenu "<strong>Gnii</strong>" à un innerHTML ça va afficher "Gnii" avec le style défini pour strong
Alors que si tu balances ça dans un createTextNode, ça va afficher le texte "<strong>Gnii</strong>" dans la page


 
 
Ouaip, justement. En fait, voilà la structure de la fonction ci dessus :
 

Code :
  1. élément li (pour la mise en forme)
  2.    élément span (le nom du posteur)
  3.    élément texte (le texte)


 
Ce que je voudrais, c'est arriver à faire en sorte que l'élément texte... ben ne soit plus que du texte :/
En gros, que l'élément texte se comporte comme un innerHTML...
 
Est-ce possible ? Ou il faut revoir toute la structure de la fonction ?


---------------
Mon blog
n°1085699
masklinn
í dag viðrar vel til loftárása
Posté le 16-05-2005 à 16:37:28  profilanswer
 

li.appendChild(document.createTextNode(le texte));
Là t'es tranquille, tout ce que tu lui balance est considéré comme du texte, par contre il faudra avoir extrait la partie "texte" de la partie "nom du posteur"
 
BTW au lieu d'utiliser des <li> tu peux utiliser des listes de définitions <dl>
un <dt> pour le nom du posteur et un <dd> pour le contenu du message, ça fonctionne pas mal


---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  createTextNode et balises HTML

 

Sujets relatifs
Interpreter un String en HTMLInserer une animation flash dans une page HTML
[Html / Php] Problème d'affichagePrécharger la page HTML
Inserer un preview d'une page HTMLcherche programmeur html
[URGENT Erreur SQL] Moteur de recherche PHP/SQL via formulaire HTMLComportement de la fonction validate (PEAR:HTML_QuickForm)
[PHP] Fonction mail() avec HTML ET piece jointe ?Liens HTML :)
Plus de sujets relatifs à : createTextNode et balises HTML


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR