【JavaScript】IE9以前でconsole.logを使用しているとハマる
はじめに
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
Author And Source
この問題について(【JavaScript】IE9以前でconsole.logを使用しているとハマる), 我々は、より多くの情報をここで見つけました https://qiita.com/tomcky/items/cb67d21c2087577a6fe4著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .