私たちの Web サイト (Rails を実行) では、ほぼ毎回 IE6 がフリーズします。別のサーバーにデプロイされた同じコードは、IE6 をフリーズしません。どこから、どのように追跡を開始すればよいのでしょうか?
8 に答える
それらの違いを判断する必要があるため、次のことから始めます。
curl -D first.headers -o first.body http://first.example.com
curl -D second.headers -o second.body http://second.example.com
diff -u first.headers second.headers
diff -u first.body second.body
コミュニケーションの問題かもしれません。フリーズするサーバーとフリーズしないサーバーに対してwiresharkを試してください。結果を比較して、違いがあるかどうかを確認します。
問題を絞り込みます。IE6 がフリーズしなくなるまで、コードの切り出しを開始します。そうすれば、問題の原因を正確に突き止めることができるかもしれません。
私は今日、AJAXを多用するサイトでこの問題を抱えています。問題をGZIP圧縮がオンになっているサーバーに絞り込んだと思います。サーバーでGZIPがオフになっていると、IE6はまったくフリーズせずにページを読み込みました。GZIPをオンにすると、IE6が完全にフリーズ/クラッシュします。
また、サーバーからGZIPで画像が提供されていることに気付いたので、画像に対してそれを無効にしました。これにより、IE6のフリーズ/クラッシュの問題が解決しました。現在、サーバーは.js、.html、およびJSONに対してのみGZIPを使用しています。
できれば、スパイウェア ブロッカーや Google ツールバーなどのアドオンをできるだけ少なくして、別のマシンの IE6 で両方を試してください...
Firefox と Firebug を使用して、両方のサーバーからの要求と応答の HTTP ヘッダーを比較します。
また、試すこともできます: http://projects.nikhilk.net/WebDevHelper/Default.aspx
これは IE にインストールされ、ネットワークの問題などのトラブルシューティングに役立つ場合があります。トレース機能を使用すると、リクエスト/レスポンスでいつどこでフリーズするかを正確に確認できる場合があります。
フリーズは開発サーバーまたは本番サーバーで発生していますか? 開発者サーバーが IE6 をロックするかどうかは大した問題ではありませんが、運用サーバーが IE6 を強制終了できなかった場合、問題が発生する可能性があります。
:-P
おそらくあなたを助けるいくつかのより多くの情報。
同じ問題があり、GZIP 圧縮にも絞り込みました。重要なのは、.NET ページのコントロールで使用される JavaScript も提供する ScriptResources の gzip 圧縮をオンにしたことです。
どうやら IE6 にはフリーズを引き起こすバグがあるようです。ブラウザがファイルを受信し、解凍する前に解析するため、フリーズが発生すると考えられます。
今のところ、gzip 圧縮をオフにしていますが、ScriptsResource マネージャーを介して多数のファイルが提供されているため、別のソリューションが必要です。