LoginSignup
59
61

More than 5 years have passed since last update.

【JavaScript】IE9以前でconsole.logを使用しているとハマる

Last updated at Posted at 2014-03-30

##はじめに
FirefoxとかChromeなら問題ないがIEだと上手く動作しないとかはよくある話だと思う。その要因の一つであるconsole.log使用時のエラーに、つい最近ハマったのでメモしておく。

##対処法
そもそもなぜconsole.log使用時にエラーが出るのかといえば、IEがConsoleAPIに対応していないために、window.consoleの時点でundefinedを吐くからである。対処法としては、

// consoleプロパティとlog関数作ってとりあえずエラー回避
if(!window.console) {
  window.console = { log: function(msg){} };
}

とか

// ConsoleAPIに対応していないなら無視
if(window.console && typeof window.console.log === 'function') {
  console.log('hoge');
}

とか。
…まぁ、ちゃんとリリース時にconsole.logを消すのが一番良いのかもしれない。

##おわりに
console.logでのエラーのやっかいなところは、 開発者ツールを起動して確認するとうまく動く ところである(IE9,8)。これでハマった。いざデバッグしようとしてF12を押して確認したら「ちゃんと動いてるじゃん」と。逆に言えば、それで原因の特定ができたので良かったといえばよかったのだが。

##参考
IEでconsole.log()のエラーを出さないようにする
stackoverflow - 'console' is undefined error for Internet Explorer

59
61
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
59
61