Hallo allerseits,
bei meinem Greasemonkey-Script bleibt die Abarbeitung manchmal bei einem setTimeout-Aufruf stecken - manchmal auch nicht. Je länger die Wartezeit ist, desto eher scheint es nicht weiter zu gehen. Folgende Funktion demonstriert das bei mir:
Code:
function cw_TimeoutSec(func, sec){
GM_log("cw_TimeoutSec: " + sec + " Sekunden");
if (sec <= 0) {
setTimeout(func, 100);
} else {
setTimeout(function(){cw_TimeoutSec(func, sec-1)}, 1000);
}
}
In der Fehlerkonsole kann man sehen, dass beim Aufruf von z.B. cw_TimeoutSec(irgendwas, 20) manchmal komplett heruntergezählt und die Ausführung mit irgendwas fortgesetzt wird, manchmal stockt die Ausführung aber vorher - bei unterschiedlicher Tiefe der Rekursion.
Hat jemand eine Idee, was da passiert?