请求头有个字段user-agent,这个属性是浏览器的信息。那么如何获取到这个字段呢?
可以通过navigator.userAgent获取这个字段的值。
user-agent样式如下:
Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion
有两块需要重点关注
platform 用来说明浏览器所运行的原生系统平台(例如 Windows、Mac、Linux 或 Android),以及是否运行在手机上。
Firefox/firefoxversion 表示该浏览器是 Firefox,并且提供了版本号信息(例如 "17.0")。这块内容比较复杂。比如说如果是chorm浏览器,这个字段除了有chorm,还是其他浏览器名如safari。
具体介绍可参看你真的理解userAgent了吗
总结就是
检测 firefox 的核心,就是检测有没有 Firefox 字段。
检测 chrome 的核心,就是检测有没有 Chrome 字段。
检测 Opera 的核心,就是检测有 OPR 字段或者 Opera 字段。
检测 Safari 的核心,就是检测有 Safari 字段,同时没有 Chrome 字段。
检测 IE8-11 的核心是检测是否有 MSIE 或 Trident 字段,检测 IE Edge 的核心是检测是否有 edge 字段
具体判断代码如下
function getRE( ) {
var RenderingEngine = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
RenderingEngine = "MSIE"; //ie8-11
}
if(isFirefox = navigator.userAgent.indexOf("Firefox")>0){
RenderingEngine = "Firefox";
}
if(isSafari = navigator.userAgent.indexOf("Safari")>0) {
RenderingEngine = "Safari";
}
if(isCamino = navigator.userAgent.indexOf("Camino")>0){
RenderingEngine = "Camino";
}
if(isMozilla = navigator.userAgent.indexOf("Gecko/")>0){
RenderingEngine = "Gecko";
}
console.log(RenderingEngine);
}