聞いてくれよ
先日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
とりあえず入れとけ、ってモノにできたと思う
ぜひ導入してね