innerHTML: Fehler in Chrome
twb
- javascript
0 twb0 1UnitedPower0 twb
Liebe alle - ich habe ein kleines HTML-5-Browsergame geschrieben (Freecell, hier das Skript) und stosse dabei auf ein kleines Problem: In Chrome (Windows, iOS) und in Safari (iOS, vermutlich auch Windows/Mac OS) wird die Bildschirmanzeige der Zugzahl ("Moves" plus Ziffer, neben den Buttons) nach einem Spielzug nicht aktualisiert. Müsste sie aber. Das (dynamisch erzeugte) HTML-Element
<div id="counter">...</div>
wird jeweils nach einem Spielzug mittels
document.getElementById("counter").innerHTML="Moves: "+moves;
aktualisiert (moves als Variable, in der die Zugzahl gespeichert wird). Läuft denn auch sauber in IE10 und FF20 (Windows). Eigenartig ist, dass Chrome die Ziffer zwar nicht anzeigt, aber dennoch aktualisiert, sobald man die Zeile mit der Maus markiert (oder sobald sich ein anderes Element, hier eine Spielkarte, darüber hinwegbewegt hat). Wo liegt der Hund begraben?
Herzlich, und mit Dank! twb
Eine Aktualisierung mittels document.getElementById("counter").firstChild.nodeValue="Moves: "+moves;
hilft auch nicht weiter.
Wo liegt der Hund begraben?
Hier.
document.getElementById("counter").innerHTML="<span>Moves: "+moves+"<\/span>";
läuft. Chrome und Safari scheinen einen reinen Textstring ohne HTML-Tag nicht als gültige Werte für die Eigenschaft innerHTML zu akzeptieren.
Mit Chrome 26 nicht nachvollziehbar.
Mit Chrome 26 nicht nachvollziehbar.
Seltsam. Mein Chrome hört auf denselben Namen (26, Win) und streikt zuverlässig. Thx!