Der beschriebene Bug hat nichts mit deinem Problem zu tun.
Er bezieht sich auf die Argumente, die der Funktion im Timeout übergeben werden. FF übergibt von sich aus ein Argument "lateness", dass ist Differenz zwischen der Zeit, zu der die Funktion hätte aufgerufen werden müssen und der Zeit zu der die Funktion tatsächlich aufgerufen wurde.
Erwartet die Funktion nun Argumente, wird aber skriptseitig nicht immer mit all den erwarteten Argumenten versorgt, kann es zu Fehlverhalten kommen.
Beispiel: http://jsfiddle.net/stNCe/
Man sollte denken der alert() meldet "undefined"(fx() wird kein Argument übergeben), im FF meldet er aber "Number", denn der Funktion wurde intern das lateness-argument übergeben.
Resumee: Funktionen, die per setTimeout/setInterval aufgerufen werden, skriptseitig immer genau die Anzahl an Argumenten übergeben, welche von der Funktion erwartet werden.
Aber mit deinem Problem hat das nichts zu tun, denn die Funktion run() verarbeitet überhaupt keine Argumente.
Aber trotzdem, interessante Sache, war mir noch nicht bekannt.
Er bezieht sich auf die Argumente, die der Funktion im Timeout übergeben werden. FF übergibt von sich aus ein Argument "lateness", dass ist Differenz zwischen der Zeit, zu der die Funktion hätte aufgerufen werden müssen und der Zeit zu der die Funktion tatsächlich aufgerufen wurde.
Erwartet die Funktion nun Argumente, wird aber skriptseitig nicht immer mit all den erwarteten Argumenten versorgt, kann es zu Fehlverhalten kommen.
Beispiel: http://jsfiddle.net/stNCe/
Code:
function fx(parameter)
{
alert(typeof parameter);
}
setTimeout(fx,1000);
Man sollte denken der alert() meldet "undefined"(fx() wird kein Argument übergeben), im FF meldet er aber "Number", denn der Funktion wurde intern das lateness-argument übergeben.
Resumee: Funktionen, die per setTimeout/setInterval aufgerufen werden, skriptseitig immer genau die Anzahl an Argumenten übergeben, welche von der Funktion erwartet werden.
Aber mit deinem Problem hat das nichts zu tun, denn die Funktion run() verarbeitet überhaupt keine Argumente.
Aber trotzdem, interessante Sache, war mir noch nicht bekannt.