3

I have a web application that is working perfectly in Chrome and FireFox, yet is crashing in IE. Note, this is not a JavaScript error, but rather the iexplore.exe process actually crashes.

The code is posted below. This will crash in IE9 (when the button is clicked). Reversing the JavaScript or making changes to the CSS may eliminate the issue, but realize that this is reduced code from a much, much larger application that can not be easily changed in this way (for example, in the actual app the two JavaScript commands are called in two different functions - the second one is run conditionally based on the results of the first). I am not even sure what my question is anymore, other than "is there a way to get Microsoft to patch this quickly?" I am interested in hearing people's thoughts:

<!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>

Edit: I have opened a case with Microsoft and am working on this with a development team member there. I will update this as I receive more information.

4

2 に答える 2

9

Microsoft は、これが IE9 レンダリング エンジンのバグであることを確認しました。私のさらなる調査から、親DIVの幅がINPUTの幅と組み合わされると、INPUTが折り返されるという事実に関係しています。何らかの理由で、この場合、値を INPUT に割り当て、すぐに親 DIV を非表示にすると、IE がクラッシュします。

Microsoft は、次のコード行を使用して IE に IE8 レンダリング エンジン (クラッシュしない) を使用させることを提案しました。

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

ただし、INPUTを独自のスタイル化されていないDIVまたはSPANにラップすることで、問題を回避できることもわかりました。このバグは別として、IE9 レンダリング エンジンは IE8 よりもはるかに優れている (そして高速である) ため、これが推奨されます。

于 2012-04-11T12:25:51.610 に答える
0

おかしなことに、IE9 がもたらすデバッガーは、ブレーク ポイントや変数の追跡などで非常に便利なので、それが役立つかどうか試してみます。(IE9を入手できる場合。IE 7および8の開発ツールについてはわかりません)。

于 2012-04-09T22:34:29.597 に答える