Spike: setTimeout ...... Abarbeitung von Threads?

Hallo!

Ich habe folgendes Problem:
Es wird etwas dynamisch in ein Div geschrieben

document.all.div_msg.innerHTML += s;

und danach erfolgt eine Copy Anweisung mit Hilfe des fso, welche in einer anderen Function ausgelagert ist.

z.B.
schreibeInZielordner(srcfile , newname , escape(srcDir), escape(targetDir) );

Das ganze wird mehrmals in einer For Schleife abgearbeitet.

Nun zu dem eigentlichen Problem:
Der Browser bzw Windows aber will erst die Copy Operationen ausführen und danach wird das gesamte Div auf dem Screen ausgegeben, ich will aber nach jedem Copy-Vorgang eine Zeile auf dem Screen ausgeben.

Ich habe schon einiges ausprobiert z.B.

document.all.delay = 1000;

document.recalc();

document.all.div_msg.insertAdjacentHTML("afterEnd", s);

var s2 = "schreibeInZielordner('" + srcfile + "','" + newname+ "','" + escape(srcDir) + "','" + escape(targetDir) + "');";
      setTimeout(s2, 10 );

setTimeout("document.all.div_msg.innerHTML += 'willi<br>'", 100 );

Gibt es dafür ein passendes Workaround?

THX

  1. Hi,
    wenn ich das Problem richtig verstanden habe, dann könnte die Lösung so aussehen:

    Definiere eine generelle variable (XXX) als Schalter (ev. je nachfolgender Funktion oder gleich ein Array).
    Definiere eine übergeordnete Funktion, die einerseits die nachfolgende Funktion aufruft und andererseits
    mit setTimeout immer abfragt, ob XXX schon gesetzt ist. Wenn ja, kann die nächste Funktion aufgerufen werden
    und das Spiel beginnt von neuem, bis alles abgearbeitet ist.
    In den einzelnen nachfolgenden Funktionen muß dann natürlich beim Ende jeweils die zugehörige Variable gesetzt werden.

    Grüße
    Ernst

    PS: Die JS-Animation auf meiner HP funkt auch so.