IE9でHTML5のDOCTYPEにするとQuirksモードになる


Quirksモードだと動かないコードがある

InternetExplorerには、HTMLのDOCTYPE宣言によってドキュメントモードをQuirksモードにするか、Standardモードにするかを自動判別する機能があります。

これがQuirksモードだと、 JSON.parse() とか、 JSON.stringify() とかが使えません。

で、HTMLのDOCTYPE宣言が

<!DOCTYPE html>

だとIE9はこれを解釈できず(?)、ドキュメントモードがQuirksモードになるみたいです。

回避方法

この場合、以下のMETAタグを追加してやるとうまく動きます。
たぶんIE8でも同じ問題が起きそうな気がする。

<meta http-equiv="X-UA-Compatible" content="IE=9">