IE8,9で後方互換モードかどうかをチェックする
GmailってIEの後方互換モードで見ると「標準モードで見ていってね!」みたいなメッセージを出してくれて親切ですよね。
あれどういう判定の仕方なんだろうと参考にGmailのJSソース見てみたら、TridentがUserAgentに含まれているかどうかで判定しているみたい。
IE8以降ならUserAgentに"Trident"が含まれるので、それとドキュメントモードの判定でいけるよ、ってことみたいです。
※TridentはIEのHTMLレンダリングエンジン。Wikipediaがめちゃ詳しい。
function isIECompatibility() { var ua = navigator.userAgent; if (ua.indexOf('MSIE') == -1) { return false; } else if (ua.indexOf('Trident') != -1 && document.documentMode && document.documentMode >= 8) { return true; } else { return false; } };
IE10でもTridentはUserAgentに含まれているようなので、当分はこれで大丈夫だと思われる。