web-dev-qa-db-ja.com

Internet Explorerでコンソールロギングを使用するにはどうすればよいですか?

IE用のコンソールロガーはありますか?多数のテスト/アサーションをコンソールに記録しようとしていますが、IEでこれを行うことはできません。

117
ground5hark

IE8スクリプトコンソールにアクセスするには、[開発ツール](F12)を起動します。 「スクリプト」タブをクリックしてから、右側の「コンソール」をクリックします。

JavaScriptコード内から、次のいずれかを実行できます。

<script type="text/javascript">
    console.log('some msg');
    console.info('information');
    console.warn('some warning');
    console.error('some error');
    console.assert(false, 'YOU FAIL');
</script>

また、console.clear()を呼び出すことでコンソールをクリアできます。

注:最初に開発者ツールを起動してから、ページを更新して動作させる必要があるようです。

144
Craig

バージョン8以降、Internet Explorerには他のブラウザーと同様に独自のコンソールがあります。ただし、コンソールが有効でない場合、consoleオブジェクトは存在せず、console.logへの呼び出しはエラーをスローします。

別のオプションは、 log4javascript (完全開示:自分で作成)を使用することです。これには、IE> = 5を含むすべてのメインストリームブラウザーで動作する独自のロギングコンソールがあります。未定義のconsoleの問題を回避するブラウザ独自のコンソール用。

24
Tim Down

本番環境でconsole.log()を使用する場合、非常に重要です:

console.log()コマンドをプロダクションにリリースすることになった場合、IEに何らかの修正を加える必要があります-consoleF12デバッグモードでのみ定義されるためです。

if (typeof console == "undefined") {
    this.console = { log: function (msg) { alert(msg); } };
}

[明らかにalert(msg)を削除します。動作確認後のステートメント]

「console」はInternet Explorerの未定義エラー 他のソリューションと詳細も参照してください

12
Simon_Weaver

IEには多くのFirebug機能を提供する Firebug Lite があります。

9
Daniel DiPaolo

他のブラウザの行番号を保持するシンプルなIE7以下のシム:

/* console shim*/
(function () {
    var f = function () {};
    if (!window.console) {
        window.console = {
            log:f, info:f, warn:f, debug:f, error:f
        };
    }
}());
5
dbrin

彼の著書「Secrets of Javascript Ninja」では、John Resig(jQueryの作成者)が、クロスブラウザーconsole.logの問題を処理する非常にシンプルなコードを持っています。彼は、すべてのブラウザで動作するログメッセージが必要だと説明します。ここに彼のコーディング方法を示します。

function log() {
  try {
    console.log.apply(console, arguments);
  } catch(e) {
  try {
    opera.postError.apply(opera, arguments);
  }
  catch(e) {
    alert(Array.prototype.join.call( arguments, " "));
  }
}
3
ambodi

Console.logに限定されたIE8またはコンソールのサポート(デバッグ、トレースなしなど)の場合、以下を実行できます。

  • Console OR console.log undefinedの場合:コンソール関数(トレース、デバッグ、ログなど)のダミー関数を作成します

    window.console = { debug : function() {}, ...};

  • それ以外の場合、console.logが定義されている(IE8)およびconsole.debug(その他)が定義されていない場合:すべてのログ機能をconsole.logにリダイレクトします。これにより、これらのログを保持できます。

    window.console = { debug : window.console.log, ...};

さまざまなIEバージョンでのアサートのサポートについては不明ですが、提案は歓迎します。

2

旧バージョンのIE(IE8より前)では、IE Developer Toolbarでコンソールログを表示するのは簡単ではありません。次のツールバーは私にとって素晴らしいツールです。

これの主な利点は、IE6またはIE7のコンソールを提供することです。そのため、(コンソールログで)エラーを確認できます。

  • 注意:
  • 無料です
  • ツールバーのスクリーンショット

enter image description here

0
super1ha1

クロスブラウザラッパーを使用できます: https://github.com/MichaelZelensky/log.js

0