マイクロソフトは処理の振り分けにはブラウザ単位ではなく機能で判別しろという主張をしている。ごもっともではあるが、IEの挙動はあまりにも他のモダンブラウザと異なる部分が多く、IEか否かで振り分けせざるをえない場合が多々ある。
IE10以降では条件分岐コメントは効かないため、JavaScriptでユーザーエージェントで振り分ける。
var ua = window.navigator.userAgent;
if( ua.match(/MSIE/) || ua.match(/Trident/) ) {
//IE11やEdgeやらの処理
}
bodyにクラスを付けるのなら次のようにする。
var ua = window.navigator.userAgent;
if( ua.match(/MSIE/) || ua.match(/Trident/) ) {
var bodyElement = document.getElementsByTagName('body');
bodyElement[0].classList.add( 'browser-ie' );
}
- 関連記事
-
-
tableのレスポンシブ対応 2017/11/06
-
コンテンツを上下中央に配置する3つの方法 2017/07/25
-
JavaScriptでユーザーエージェントからIE11/Edgeか否かを判別する方法 2017/07/18
-
codeをpreと同様に表示する 2017/04/04
-
word-spacingとletter-spacingの違い 2017/03/30
-