Greasemonkey: bleibt manchmal bei setTimeout stecken

casilein

Grünschnabel
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 bis 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?
 
Zurück