Как определить механизм верстки браузера в JavaScript?
Я хочу создать различные варианты поведения в соответствии с механизмом компоновки браузера клиента. Как определить, является ли это WebKit (Chrome, Safari, Yandex, Midori), Gecko (Firefox, K-Meleon, Netscape), Trident (IE) или другие?
1 ответ
Заглянуть в 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
}
Оставьте Gecko для последнего условия, так как свойство userAgent может содержать выражение "как 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.3070729; InfoPath.3; rv:11.0) как у Gecko "
navigator.appVersion
свойство может содержать ту же информацию, что и navigator.userAgent
но в некоторых браузерах это не так:
Navigator.appVersion в Firefox: "5.0 (Windows)"