JavaScriptでユーザーエージェントからIE11/Edgeか否かを判別する方法

/ HTML5/CSS3/jQuery / Comment[0]

マイクロソフトは処理の振り分けにはブラウザ単位ではなく機能で判別しろという主張をしている。ごもっともではあるが、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' ); }
関連記事

コメント

:
:
:
:
:
管理人のみ表示を許可