1

クライアントのブラウザのレイアウト エンジンに応じて異なる動作を作成したい。WebKit (Chrome、Safari、Yandex、Midori)、Gecko (Firefox、K-Meleon、Netscape)、Trident (IE)、またはその他かどうかを検出する方法は?

4

1 に答える 1

0

調べてくださいnavigator.userAgent(ブラウザのコンソールに入力するだけです)。次のように検索できます (大文字と小文字は区別されません)。

if(navigator.userAgent.search(/trident/i)>0){
    //Internet Explorer
} else if(navigator.userAgent.search(/webkit/i)>0){
    //Chrome, Safari
} else if(navigator.userAgent.search(/???/i)>0){ //replace ??? by the appropriate engine
    //others
} else if(navigator.userAgent.search(/gecko/i)>0){
    //Firefox
}

userAgentプロパティには "like Gecko" という表現が含まれる可能性があるため、最後の条件はGeckoのままにしておきます。WebKitブラウザーや IE も同様です。

IE のnavigator.userAgent : "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729 ; InfoPath.3; rv:11.0) Gecko のように"

navigator.appVersionプロパティには次と同じ情報が含まれる場合がありますがnavigator.userAgent、一部のブラウザーでは含まれません。

Firefox のnavigator.appVersion : "5.0 (Windows)"

于 2015-09-16T20:10:48.553 に答える