Javascript's +=

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Javascript's +=

    Guten Tag allerseits

    Ich entwickle gerade an einem AJAX-Chat herum. Nun habe ich um Nachrichten hinzuzufügen folgende Codezeile:
    Code:
    document.getElementById("chatwindow").innerHTML += xmlhttp.responseText;
    Das funktioniert grundsätzlich mal. Nun habe ich ein Problem damit im Internet Explorer: Das ganze Value von chatwindow wird neu geladen. Das ist nicht eigentlich ein Problem, nur werden animierte Smilies immer wieder neu gestartet. Weshalb ist das und wie kann ich das umgehen, so dass wirklich nur ein Stück Text angefügt wird und nicht der Rest des Inhalts neu in das Element geschrieben wird?
    Übrigens in meinem (geliebten) Firefox funktioniert es einwandfrei wunschgemäss.

    Gruss und danke für Eure Hilfe

    Chris
    [COLOR=orangered]Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil![/COLOR]

    cubetech in Bern » Webdesign, Infrastruktur, Social Media, VoIP

  • #2
    Naja du änderst das innerHTML des chatwindow, da muß jeder Browser das Element neu rendern. Dass der IE dabei animierte Grafiken wieder auf den ersten Frame zurücksetzt, kannst du garantiert nicht verhindern.

    Versuche mal ein neu erzeugtes DOM-Element (<span> oder <div> bietet sich an, mit innerHTML=responseText) ins Chatwindow einzufügen.

    Comment


    • #3
      Also im Stil
      Code:
      document.getElementById('chatwindow').innerHTML += '<span>' + xmlhttp.responseText + '</span>';
      ?
      [COLOR=orangered]Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil![/COLOR]

      cubetech in Bern » Webdesign, Infrastruktur, Social Media, VoIP

      Comment


      • #4
        Nein, denn so würdest du ja immernoch das innerHTML von chatwindow verändern und den Browser zum erneuten Rendern zwingen.

        Ich meine es so:
        span=document.createElement('span');
        span.innerHTML=xmlhttp.responseText;
        document.getElementById('chatwindow').appendChild(span);

        Comment


        • #5
          Hm das ist neu für mich. Lese mich da mal ein und spiel ein bisschen damit rum, melde mich dann wieder!
          Danke schonmals für die Hilfe!

          Gruss Chris
          [COLOR=orangered]Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil![/COLOR]

          cubetech in Bern » Webdesign, Infrastruktur, Social Media, VoIP

          Comment


          • #6
            So, habe das Ganze nun eingebaut und mich schlau gemacht. Funktioniert einwandfrei, besten Dank!

            Gruss Chris
            [COLOR=orangered]Welch triste Epoche, in der es leichter ist, ein Atom zu zertrümmern als ein Vorurteil![/COLOR]

            cubetech in Bern » Webdesign, Infrastruktur, Social Media, VoIP

            Comment

            Working...
            X