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
}

将Gecko留作最后一个条件,因为userAgent属性可能包含表达式“like 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)像壁虎"

navigator.appVersion属性可能包含相同的信息,navigator.userAgent但在某些浏览器中不包含:

Firefox 的navigator.appVersion:“5.0 (Windows)”

于 2015-09-16T20:10:48.553 回答