2011-01-14 5 views
0

Hy男!IEは再帰関数のスクリプトエラーを表示します

私は実行に時間がかかる再帰関数を持っています。 IEは機能が終わりのないループのようなものだと "考えている"。

IEにエラーを表示させないようにするにはどうすればよいですか?

Thks guys!

+0

IEが表示しているエラーですか?また、関数はどのように見えますか?いいえ、実際は、あなたの質問の現在の内容に基づいて、あなたを助けることはできません。 –

答えて

1

ほとんどのブラウザでは、CPUを長時間結びつけてブラウザを強制終了するjavascriptを使用してWebページにアクセスすると、ユーザーに途方もない方法を提供する機能はありません。

その周りの唯一の方法、それはより速く行くようにコードを最適化し、パフォーマンスにされ:)

私はそう私の答えは間違っている、「エラー」は次のようになり想定しています: alt text

+0

はい、まさにこれです。 – Thiago

+0

その場合、唯一の解決策はコードを書き換えて速くすることであり、「十分に速い」ためのしきい値はユーザーのコンピュータに依存することを覚えておいてください。ユーザーには –

+0

がありますが、これはharcoreコードではありません。最新のデータをテーブルで取得するだけです。 – Thiago

0

のJavascriptあなたのブラウザでは1つのスレッドで実行されます。ブラウザに何らかのコードが実行されている(再帰的なコードなど)場合、ブラウザはスクリプトを一時停止し、コードを停止するか続行するかをユーザーに尋ねます。これが起こらなかった場合、ユーザーが制御を取り戻す方法はありません(長時間実行しているコードがUIと同じスレッド、つまりWebページで実行されることが望ましい場合)。そのため、ajaxの呼び出しは、コードが結果を待つ(ブロックされる)のではなく、代わりにコールバック関数が結果とともに返されるように構成されています。

長時間実行しているコードではどうやって収穫しますか?いくつかの方法(ajaxは一例ですが)の中で最も普及しているのは、何らかの方法でsetTimeoutを使うことです。残念ながら、正確に何をしているのかわからなくても、その使い方を説明するのは簡単ではありません。私が与えることができる小さな例は人工的である。

あなたの質問に対する厳密な答えは、「コードを実行チャンクに書き直すことです。時間がかかるチャンクはありません」というメッセージが表示されます。