「IE11」「JavaScript」 "IE11 標準モード" と "( 相互運用可能な ) Quirksモード" を判定する
IE11 のドキュメントモードに "IE11 標準モード" と "( 相互運用可能な ) Quirksモード" てのがあるんですが、これを JavaScript で判定してみました。
・Internet Explorer 11 - ダウンロード、ヘルプ、サポート、ガイド | TechNet
https://technet.microsoft.com/ja-jp/ie/dn262703
※ "IE11 標準モード" と "( 相互運用可能な ) Quirksモード" は「Internet Explorer 11 移行ガイド (Word: 15.0 MB)」に沿った表記です。
IE10 とかだと開発者ツールから確認できたと思うんですが、IE11 だとどっちも「Edge」になって確認できなくなってるんですね・・・
まぁ、ドキュメントモードは、以下あたりの設定で決定されるみたいなので、これを確認して判断してもいいんですが、なかなか面倒なので・・・
・互換表示設定
・DOCTYPE 宣言
・X-UA-Compatible ヘッダ
・META 要素
判定する JavaScript が以下です。といっても documentMode と compatMode の値を確認しているだけ。
function getDocMode() { var docMode = document.documentMode + ":" + document.compatMode; alert(docMode); }
実行すると、docMode の値が以下みたいな感じなる。一応、判定できてそうです。
・"IE11 標準モード" -> 11:CSS1Compat
・"( 相互運用可能な ) Quirksモード" -> 11:BackCompat
・document.compatMode - Web API インターフェイス | MDN
https://developer.mozilla.org/ja/docs/Web/API/Document/compatMode
しかし、ドキュメントモードは種類も多いですし、決定される条件も色々ありますし、結構面倒くさいところですね・・・
ちなみに、IE11 ではドキュメントモード非推奨になってるみたいです。
・Document modes are deprecated (Windows)
https://msdn.microsoft.com/en-us/library/ie/dn384051.aspx
※ ドキュメントモードの決定ロジックも図示されてますね。
以上です。