2012-04-09 8 views
3

私はChromeとFireFoxで完全に動作しているのに、IEでクラッシュしているWebアプリケーションを持っています。 JavaScriptエラーではなく、実際にはiexplore.exeプロセスがクラッシュすることに注意してください。IEクラッシュのデバッグ

コードは以下のとおりです。これはIE9でクラッシュします(ボタンがクリックされたとき)。 JavaScriptを元に戻したりCSSを変更したりすることで、この問題を解決できるかもしれませんが、これは簡単に変更できないほど大きなアプリケーションからのコードの削減です(実際のアプリケーションでは、 2つの異なる関数で呼び出されます - 第2の関数は最初の結果に基づいて条件付きで実行されます)。私はもう私の質問が「マイクロソフトにこれをすばやく修正させる方法があるの?」以外は何もわからない。

<!DOCTYPE html> 
<html> 
    <head> 
     <title>IE Crash</title> 
    </head> 
    <body> 
     <div id="dvStep11" style="width:500px;"> 
      <label for="inpDOB">Date of Birth (mm/dd/yyyy)</label> 
      <input type="text" id="inpDOB" style="width:350px;" /> 
     </div> 
     <button onclick="document.getElementById('inpDOB').value = '12/7/1971';document.getElementById('dvStep11').style.display='none';">Click here</button> 
    </body> 
</html> 

編集:私はマイクロソフト社のケースを開設し、そこで開発チームのメンバーと作業しています。私はより多くの情報を受け取ってこれを更新します。

+0

あなたはウェブサイトを投稿できますか? IEは完全に更新されていますか? IEのどのバージョンを使用しましたか? – rook

+0

申し訳ありませんが、私はIE9の最新バージョンを使用しています。私はそれが専有で機密であるため、実際のサイトを掲載することはできません。私はIE9のデバッガを使用して、私が質問で述べたようにクラッシュしている行を見つけました。私は関連するコードを含むjsFiddleへのリンクを投稿することができますが、そこで動作するので、どれくらいの助けになるか分かりません。 –

+0

コードがないと誰もあなたを助けることができません。 Microsoftに報告してください。とにかく誰も気にしないし、そのM $のせいだ。 – rook

答えて

8

マイクロソフトでは、これがIE9レンダリングエンジンのバグであることを確認しました。私のさらなる研究から、親DIVの幅とINPUTの幅を組み合わせると、INPUTが折り返されるという事実と関係しています。何らかの理由で、この場合、INPUTに値を割り当ててすぐに親DIVを隠すとIEがクラッシュします。私もちょうどラップすることにより、問題を回避することができ、しかし、私が見つけた

<meta http-equiv="X-UA-Compatible" content="IE=8" /> 

Microsoftが、私はこのコード行で(クラッシュしない)IE8のレンダリングエンジンを使用するためにIEを強制提案しました独自の非スタイル化DIVまたはSPANでINPUTします。このバグとは別に、IE9レンダリングエンジンはIE8よりはるかに優れていて(しかも高速です)、これが望ましいのです。

0

面白いことに、IE9のデバッガは、ブレークポイントや変数のトラッキングなどで非常に便利です。そのために役立つかどうか試してみましょう。 (もしあなたがIE9を入手できるなら、私はIE 7と8の開発ツールについてはわかりません)。

+0

これはページの読み込みで発生した場合に役立ちません – brauliobo