web-dev-qa-db-ja.com

Internet Explorerは「タイムアウト」しますか?

私のウェブサイト内には、プレーンHTMLページのAJAX/JSONを介して動的に更新する単一のページがあります。

現在、このページは最大3日間または4日間開いたままになる場合があります。週末にデータを凍結したままにしておくと、サーバーは完全に実行されたままで、更新時にすべてが再び動き始めました。私の質問はInternet Explorer(または他のブラウザ) 'timeout'?です

3
sphvn

私に多くの質問が来ます:

  1. IEのバージョン
  2. 呼び出しを行っていたコードは何でしたか?
  3. 数日後にブラウザに戻ったとき、ブラウザは何をしましたか?
  4. あなたのウェブサーバーログは何を示していますか?JavaScriptが処理できないエラーコードをウェブサーバーから返しましたか?

一般的に、setTimeoutを指定したタイマーで実行されているJavaScriptコードがある場合、それは永久に実行されます。ただし、ブラウザはデスクトップソフトウェアであるため、システムに何らかの問題が発生し、そのブラウザに影響を与える可能性があることを忘れないでください。あなたの経験の条件が何であるかをより正確に知ることなく推測することは困難です。実行中の他のシステムソフトウェアが原因で、ブラウザがフリーズした可能性があります。システムのDNSがしばらくの間不安定になり、JavaScriptがその問題をうまく処理できなかった可能性があります。コンテンツを提供しているサーバーが1秒間切り詰めて、JavaScriptで処理できない誤った文字列を返したため、ページの実行が停止した可能性があります。最後に、ブラウザが一時的にメモリ不足になった可能性がありますか?返されたデータがイベントをページに追加するコンテンツも追加した場合、単純にメモリ不足になった可能性がありますか?これは、ページが本当に「フリーズ」した場合に当てはまりますが、IEからのメモリアラートが表示される可能性が高いでしょう。

この質問には多くの意見がありますが、詳細が十分ではありません。

2
artlung

IEがタイムアウトすることはないと思いますが、ajaxリクエストが失敗し、再試行を試みない場合があります。これを確認する良い方法は、Firefoxを使用して、FireBugというプラグインをダウンロードすることです。これにより、デスクトップから要求されたすべてのhttp/ajaxリクエストのログが得られ、サーバーから返されたエラー状態またはjavascriptエラーを受信したかどうかが示されます。

2
AronHopkins