如何在JavaScript中检测浏览器的布局引擎?

时间:2015-09-16 20:10:49

标签: javascript browser detection layout-engine

我想根据客户端浏览器的layout engine创建不同的行为。如何检测它是否是WebKit(Chrome,Safari,Yandex,Midori),Gecko(Firefox,K-Meleon,Netscape),Trident(IE)或其他?

1 个答案:

答案 0 :(得分: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 属性可能包含表达式"如Gecko",WebKit浏览器和IE也是如此: / p>

  

IE&#39> 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)"