masafumi_hayashi's blog

あるプログラマが任意のタイミングで更新するブログです。主にWebに関する技術について思うところをお送りします。

IE9でconsole.log()を使う時に注意すること

consoleはIE9では基本的には使えません。

ただし、F12開発者ツールを起動した状態だと使えるようになります。

ちなみに公式サイトには次のように書いてあります。

 

Using the F12 Tools Console to View Errors and Status

http://msdn.microsoft.com/en-us/library/ie/gg589530(v=vs.85).aspx#SendMessagesFromCode

 

f:id:masafumi_hayashi:20120821160511p:plain

 When you use the console object, make sure that the F12 tools are open.

(コンソールオブジェクトを使用する場合は、F12開発者ツールが開いていることを確認して下さい。)

 

なお、デバッグ中に発生しないエラーが閲覧時に発生する可能性があるので、回避用のコードはどうやら必須のようです。

 

エラー回避コード例

if ( !window.console ) {
    window.console = {
        "log": function(){},
        ...
    }
}

 

ちなみに、F12開発者ツールを一度でも起動すれば、ウインドウを閉じても使えるように見えますが、

ページ遷移を行うとconsoleの箇所でエラーとなります。

また、更新した場合は使えるようなので、ページ遷移の度にF12開発者ツールが開いているかどうかをチェックしているのかもしれません。