0

window.setTimeoutを使用してTruClient(Firefox)で0.1秒ごとに関数を実行したい:

function foobar(delay_accumulator){
    if(delay_accumulator >= 100)//10 seconds
        return;

    //do something
    window.setTimeout(function() { foobar(delay_accumulator+1); }, 100);
}
foobar(0);

ただし、この手順は失敗し、次のエラーが発生します。

** 2:JavaScriptコード関数を評価しますfoobar(delay_accumula ... OBAR "); foobar(0); **失敗-例外が発生しました:NS_ERROR_NOT_AVAILABLE:コンポーネントが失敗コードを返しました:0x80040111(NS_ERROR_NOT_AVAILABLE)[nsIDOMJSWindow.setTimeout]

setTimeoutが使用できないのはなぜですか?使用できる代替ソリューションはありますか?

編集:Truclientにはツールボックスに「待機」機能がありますが、これにはsetTimeoutのミリ秒ではなく1秒の最小粒度があります。

4

1 に答える 1

0

nsiTimerを試してください:https ://developer.mozilla.org/en/nsITimer

于 2012-06-12T00:29:47.507 に答える