Hatena::ブログ(Diary)

そんなこと覚えてるわけがない。 このページをアンテナに追加 RSSフィード Twitter

11 03/11 console.log()を使うとIE8で動かない

[][][]console.log()を使うとIE8で動かない 00:56 console.log()を使うとIE8で動かないを含むブックマーク console.log()を使うとIE8で動かないのブックマークコメント

業務でJavaScirptを使う機会がなくてGreasemonkyなどでちょろっとかくぐらいで知らなかったのですが、console.log()をつかってログを出力する場合 IE8 でエラーでスクリプトが停止してしまうようです。

FireFox 3.6でも同様のことがおきました。

さらに、開発者ツールや Firebug を動作させていると動いてしまうため、問題がないと勘違いしてしまいました。

動作をみる限りでは、console.log() が実装されてないようなので、開発者ツールを起動するとこれが実装され、動いてみえるようです。

スタックオーバフローからの引用ですが、ラッパーを書いてしまうのがよさそうです。

function trace(s) {
  if (this.console && typeof console.log != "undefined")
    console.log(s);
  else alert(s);
}

なおってないのに、なおったとかいってしまってごめんなさい。

参考文献

http://stackoverflow.com/questions/690251/what-happened-to-console-log-in-ie8

トラックバック - http://d.hatena.ne.jp/eiel/20110311