LoginSignup
4
3

More than 5 years have passed since last update.

IEでconsole.log()を記載するとエラーになる件とその処方箋

Posted at

聞いてくれよ

先日Webアプリを作っているとき、妙な現象に悩まされていました。
各種ブラウザのうち、IEでのみ動かない。
原因を調べようと開発者ツールを開くと何故か動く! 👈❓

原因は?

どうやら、IEでは 通常 window.console オブジェクトが生成されない
ソース上の console.log() 行でエラーとなり、処理が中断されてしまう

困ったことに 開発者ツール展開時は window.consoleオブジェクトは生成される ため
デバッグ時は動くという謎の減少に悩まされるのだ

対処法は?

console.log() を削除するか
スクリプト内で console.log() を無効化(無害化)するといい

if (typeof(window.console) === "undefined") {
  window.console = {
    log: function(){}, // 何もしない関数 とする
  }
}

面倒なら、以下のライブラリを導入してください。

(github) tmak-tsukamoto/noop-console.js

とりあえず入れとけ、ってモノにできたと思う
ぜひ導入してね

4
3
0

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
4
3