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