1

ページの 1 つで非常に大きな JavaScript for ループを実行しています。非常に大きいため、古いバージョンでは次のような IE ポップアップが表示されます。「このページのスクリプトが実行を遅くしています。終了しますか?」

可能な限り最適化したと確信しているので、別の方法を探しています。

すべての反復が完了するまで、最初の 100 回の反復、次に 2 回目の 100 回の反復、3 回目の反復という間隔を作成することが有益であるかどうか疑問に思っています。これにより、スクリプトの実行が遅すぎると主張する IE ポップアップを防止できますか?

4

3 に答える 3

0

「スクリプトが長すぎます」ブラウザ ポップアップは、コードが制御をブラウザのメイン イベント処理ループに十分迅速に返さない場合にいつでも表示されます。

setTimeout質問で提案したように使用してバッチで計算をトリガーすると、実際にポップアップが表示されなくなります。

定期的にイベント ループに戻ることで、ブラウザは他の UI イベントに応答し続けることができます。たとえば、「キャンセル」ボタンを提供できます。それ以上の頻度ではないにしても、少なくとも 1 秒に 1 回は譲歩することをお勧めします。

于 2013-04-05T09:57:08.040 に答える