IE で開発者ツールを一度開いた後にのみ JavaScript が機能するのはなぜですか? 質問する

IE で開発者ツールを一度開いた後にのみ JavaScript が機能するのはなぜですか? 質問する

IE9 のバグ - 開発者ツールを一度開いた後にのみ JavaScript が機能します。

当サイトでは、ユーザーに無料の PDF ダウンロードを提供しており、シンプルな「ダウンロードするにはパスワードを入力してください」機能があります。ただし、Internet Explorer ではまったく機能しません。

あなた自身でこれを見てください

ダウンロード パスは「makeuseof」です。他のブラウザでは正常に動作します。IE では、両方のボタンは何も機能しません。

私が発見した最も興味深い点は、F12 キーを押して開発者ツールバーを開いたり閉じたりすると、すべてが突然機能し始めることです。

互換モードなどを試してみましたが、何も変わりませんでした。

これを Internet Explorer で動作させるにはどうすればよいですか?

ベストアンサー1

JavaScript にデバッグ コードが含まれている可能性があります。

あなたが説明している経験は、console.log()またはその他のconsole機能を含むコードに典型的に見られます。

オブジェクトconsoleは、Dev Toolbar が開かれたときにのみアクティブになります。それ以前にコンソール オブジェクトを呼び出すと、 として報告されますundefined。ツールバーが開かれた後は、コンソールが存在するため (その後ツールバーが閉じられても)、コンソール呼び出しが機能します。

これにはいくつかの解決策があります:

最も明白な方法は、コードを調べて への参照を削除することですconsole。いずれにしても、そのようなものを本番コードに残すべきではありません。

コンソール参照を保持したい場合は、if()コンソール オブジェクトを呼び出す前にそれが存在するかどうかを確認するステートメントまたはその他の条件でそれらをラップすることができます。

おすすめ記事