iframeを含むページを考えてみましょう。IEの異なるウィンドウでtry/catchを実行する
try {
iframe.contentWindow.foo();
} catch (e) { console.log('ok'); }
と
try {
iframe.contentWindow.bar();
} catch (e) { console.log('ok'); }
これは私が得るものです::
- のiframeの内容は、今、私はこのような何かを実行したいこの
<script type="text/javascript"> window.foo = function() { nonExisting(); }; window.bar = function() { throw "An error!"; }; </script>
のようになります。 Chrome/Firefox/Opera - 'ok'、 'ok'
(期待される動作) - IE8 - "オブジェクト期待" エラー、キャッチされない例外
WTFはここで起こっていますか?私がtry/catchブロックを使用していると、それはどのように捕らえられない例外になりますか?それはバグですか?または、仕様上の何かがこの動作を許可していますか?
そして、最も重要なのは、それをできるだけ動作させることができますか?
なぜあなたはIEでなくクロム/ ff/operaでうまくいくのですか?ちょっと話をしましょう。 – cambraca
ここ何が起こっているのは、世界中のWeb開発者が何年も前に発見したものです.IEはうまくいきません。 – Polynomial
さて、私はこのバグに誰も遭遇しなかったことに非常に驚いています。通常、私は特定のIEのバグを記述し、回避策を提供する何十ものウェブサイトを見つける。今回はかなり無力感があります。前述したように、主な質問は次のとおりです。 – user123444555621