IEでwindow.console.log()を使う時は要注意
javascriptで手軽にprintデバッグ出来るconsole.log()ですが、
野放図にしていると、IEで正しく動いてくれないので注意が必要です。
気ままに以下のようなコードをIE8,IE9で通すと
alert()の内容は表示されません。
window.console.log('hogehoge'); alert('hugahuga');
IE8,IE9ではconsoleAPIが開発者ツールを起動しないと有効にはならないようです。
その為、開発者ツールを起動さえすれば上記コードでもalert()の内容は表示されます。
しかし、開発者ツールを有効にしてブラウジングしているエンドユーザ等ほぼいないでしょう。
不要であればwindow.console.log()はコメントアウトないし、コード上からは削除する。
どうしてもwindow.console.log()を残しておきたい場合は以下のようにすると、
解決するようです。
var alertFallback = true; if (typeof console === "undefined" || typeof console.log === "undefined") { console = {}; if (alertFallback) { console.log = function(msg) { alert(msg); }; } else { console.log = function() {}; } }
stackoverflow: What happened to console.log in IE8?
コメントする