web-dev-qa-db-ja.com

このスクリプトの実行を停止します

このスクリプトの実行を停止しますか?

このページのスクリプトが原因で、InternetExplorerの実行が遅くなっています。引き続き実行すると、コンピューターが応答しなくなる可能性があります。

IE7(またはIE7モードのIE8)からのこの有用で有益なエラーメッセージを見たことがあると確信しています。このメッセージを削除するのに助けが必要です。

したがって、私の仕事では、IE7でWebサイトを機能させる必要があります。どうやら、私たちのクライアントの中には、アップグレードしたり、別のブラウザ(会社の規制など)を使用したりできないものがあります。

とにかく、問題のページにはタブが含まれています(jQueryUIを使用)。ページが読み込まれた後、jQueryはAJAXを使用して各タブのデータを読み込みます。タブは、キューを使用して1つずつロードされます。各タブには、HTMLとJavaScriptを含む「ウィジェット」があります(タブの読み込みごとに、さまざまなスクリプトタグがあります)。

タブの読み込み中に「遅いスクリプト」エラーが発生します。 IEスクリプトがブラウザに制御を戻さないのは嫌いです。だから、「制御を返す」か、なんとかしてスリープする方法があるのだろうかと思っていたので、IEは、遅いスクリプトカウンターを「リセット」できます。

23
Rocket Hazmat

誰かがアイデアを思いついた ここ

ブラウザで「スクリプトに時間がかかりすぎる」(すべてのブラウザに何らかの形式がある)メッセージを回避するのは比較的簡単です。無限ループまたは再帰を作成していないことをブラウザが認識していることを確認する必要があります。そして、最も簡単な方法は、長時間実行されるタスクの合間にブラウザに息抜きを与えることです。

では、これについてはどうすればよいでしょうか。最も簡単な解決策は、タスクを複数の小さなタスクに分割し、これらのタスクの間にsetTimeoutを設定することです。ユーティリティ( リンク を参照)はまさにこれを行います

22
Ron Harlev