IE の未定義の「コンソール」: 解決策
Internet Explorer で Web ページをデバッグ中に「コンソールが未定義です」エラーが発生するとイライラすることがあります。この問題を解決し、スクリプト エラーを効果的に防ぐための包括的なガイドを次に示します。
問題の背景
Firebug はコードを監視するための優れたツールですが、「console」のような特定のステートメントは.log(...)」は、IE8 以前のバージョンではランタイム エラーを引き起こす可能性があります。これは、IE にネイティブ コンソール オブジェクトがないため、「コンソールが未定義です」問題が発生するためです。
初期試行
模擬コンソールを定義してこの問題にパッチを当てようとします。次のようなプレースホルダー「ログ」関数を含むオブジェクト:
<script type="text/javascript"> if (!console) console = {log: function() {}}; </script>
では十分ではない可能性があります。 IE はそのようなコードを正しく解釈しているようですが、依然として「コンソールが未定義です」エラーをスローします。
実証済みのソリューション
これらのエラーを効果的に排除するには、次の修正されたアプローチを試してください。
<script type="text/javascript"> if (!window.console) console = {log: function() {}}; </script>
この改訂されたメソッドは、直接アクセスするのではなく 'window.console' 属性をチェックするため、より信頼性が高いことがわかります。 「コンソール」。未定義の変数を直接参照することはできませんが、グローバル コンテキスト (ブラウザのウィンドウ) の未定義の属性にアクセスすることは可能です。
代替オプション
「window」変数を使用しない場合は、次の代替方法を使用できます:
<script type="text/javascript"> if (typeof console === 'undefined') console = {log: function() {}}; </script>
このオプション同じ結果を効果的に達成します。
以上がInternet Explorer で「コンソールが未定義です」エラーがスローされるのはなぜですか? それらを修正するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。