Hallo,
ich sende folgenden code als xml an meine applikation:
Freshman
Test
11:47
Das ganze Parse ich mit Javascript folgendermaßen:
var chat_div = document.getElementById("online_echo");// =
//alert(http_request.responseText);
var xmldoc = http_request.responseXML;
var message_nodes = xmldoc.getElementsByTagName("message");
var n_messages = parseInt(message_nodes.length);
for (i = 0; i < n_messages; i++)
{
var user_node = message_nodes.getElementsByTagName("user");
var text_node = message_nodes.getElementsByTagName("text");
var time_node = message_nodes.getElementsByTagName("time");
chat_div.innerHTML += '' + user_node[0].firstChild.nodeValue + ' ';
chat_div.innerHTML += '' + time_node[0].firstChild.nodeValue + ' - ';
chat_div.innerHTML += '' + text_node[0].firstChild.nodeValue + '
';
if(iLastIndex < parseInt((message_nodes.getAttribute('id'))))
{
iLastIndex = parseInt((message_nodes.getAttribute('id')));
}
chat_div.scrollTop = chat_div.scrollHeight;
}
Leider wird nun nicht der htmlcode im meinem div angezeigt sonden ein test.
Das xml scheint die entities schon in html code umzuwandeln.
Wie kann ich es machen, dass ich nicht htmlcode erzeuge, sondern den code selber anzeigen kann?
mfg
Holger
Html aus XML anzeigen
gepostet vor 18 Jahre, 3 Monate von Freshman
gepostet vor 18 Jahre, 3 Monate von Klaus
Versuche mal die Nachricht in pre-Tags zu setzen.
gepostet vor 18 Jahre, 3 Monate von exe
Die Entities entsprechen schon den Zeichen > und <. Ist ja im Grunde nur eine Entschärfung damits nicht als HTML/XML interpretiert wird. Wenn du es dann via element.innerHTML als HTML zuweist wird es folgerichtig auch als solches interpretiert.
Eine Möglichkeit wäre eine doppelte Entschärfung. Aus > machst du halt > Oder du verzichtest auf element.innerHTML
text.className = 'chat_xyz';
var text = document.createTextNode("zwischen und ");
font.appendChild(text);
chat_div.appendChild(font);
So in etwa ..
Eine Möglichkeit wäre eine doppelte Entschärfung. Aus > machst du halt > Oder du verzichtest auf element.innerHTML
var font = document.createElement('font');
text.className = 'chat_xyz';
var text = document.createTextNode("zwischen und ");
font.appendChild(text);
chat_div.appendChild(font);
So in etwa ..
gepostet vor 18 Jahre, 3 Monate von Freshman
Ich habe nun die doppelte entschärfung genommen, auch wenn es etwas gefuscht ist in meinen augen.
Vielen dank für den Tip exe
Vielen dank für den Tip exe
gepostet vor 18 Jahre, 3 Monate von Wulf
Probier's mal mit:
Wie kann man denn den Code-Bereich so machen, dass man die gesamten DREI Zeilen lesen kann?
irgendwelcher Krimskram der Sonderzeichen, HTML, XML oder sonsirgend nen Mist enthaelt
]]>
Wie kann man denn den Code-Bereich so machen, dass man die gesamten DREI Zeilen lesen kann?
gepostet vor 18 Jahre, 3 Monate von Freshman
vom welchen 3 Zeichen sprichst du?
Ich habe einfach mal das was du da gezeigt hast geschrieben und alles wurde dargestellt.
Ich habe einfach mal das was du da gezeigt hast geschrieben und alles wurde dargestellt.
gepostet vor 18 Jahre, 3 Monate von Wulf
Ich rede von 3 ZEILEN nicht 3 Zeichen, bei mir muss man bei dem obigen Code-Beispiel scrollen, obwohl es nur 3 Zeilen Code sind.
gepostet vor 18 Jahre, 3 Monate von Klaus
Original von Wulf
Ich rede von 3 ZEILEN nicht 3 Zeichen, bei mir muss man bei dem obigen Code-Beispiel scrollen, obwohl es nur 3 Zeilen Code sind.
Exotischer Browser?
gepostet vor 18 Jahre, 3 Monate von Wulf
Firefox 1.5.0.7
gepostet vor 18 Jahre, 3 Monate von Kampfhoernchen
Also ja.
gepostet vor 18 Jahre, 3 Monate von Freshman
Bei mir muss man auch scrolen, aber da es ein Chat
ist, bei dem man scrolen soll wenn er voll ist, ist das
ok
ist, bei dem man scrolen soll wenn er voll ist, ist das
ok
gepostet vor 18 Jahre, 3 Monate von exe
Im Firefox scheint die Überschrift der Codebereiche das Scrolling zu verursachen. Der Block an sich hat die gleiche höhe wie die Tabelle mit den Codezeilen ..
@Topic: die Idee von Wulf ist noch besser als der Hack mit der doppelten Entschärfung. Für irgendwas müssen die CDATA Abschnitte ja gut sein ^^
@Topic: die Idee von Wulf ist noch besser als der Hack mit der doppelten Entschärfung. Für irgendwas müssen die CDATA Abschnitte ja gut sein ^^
gepostet vor 18 Jahre, 3 Monate von Freshman
Ach, den CDATA Tag kannte ich garnicht und habe ihn auch nicht realisiert.
Das sollte wohl besser sein, wenn ich es mit den CDATA blöcken mache.
Das sollte wohl besser sein, wenn ich es mit den CDATA blöcken mache.
gepostet vor 18 Jahre, 3 Monate von knalli
Gem. W3C sollte man das auch nicht über innerHTML (ursprünglich vom IE) machen, sondern wie exe beschrieben hat, mit generiertem DOM. Bei deinen 3 Zeilen ja eigentlich auch kein Akt - lässt sich sogar je nach Bedarf prima in einer Funktion auslagern (wenn man das ganze sonst nicht nochmal braucht).