用window.navigator.userAgent来区分设备和浏览器

javascript的navigator对象

navigator为Window对象的一个属性,指向了一个包含浏览器相关信息的对象。navigatot中包含了一些常用到的属性,如   

navigator.appVersion 浏览器的版本号 

navigator.appName 浏览器的名称 

navigator.language 浏览器使用的语言 

navigator.platform 浏览器使用的平台 

navigator.userAgent 浏览器的user-agent信息

其中userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。

一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。

例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。

一些例子:

//判断当前页面所在的环境是不是微信内置浏览器

function isWeiXin() {

var ua = window.navigator.userAgent.toLowerCase();

if (ua.match(/MicroMessenger/i) == 'micromessenger') {

return true;

} else {

return false;

}

}

//判断苹果、安卓、pc

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS

  window.location.href ="iPhone.html";

} else if (/(Android)/i.test(navigator.userAgent)) { //判断Android

  window.location.href ="Android.html";

} else { //pc

  window.location.href ="pc.html";

};

//正则表达式判断浏览器类型

function userBrowser(){   

var browserName=navigator.userAgent.toLowerCase();   

if(/msie/i.test(browserName) && !/opera/.test(browserName)){   

alert("IE");   

return ;   

}elseif(/firefox/i.test(browserName)){   

alert("Firefox");   

return ;   

}elseif(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){   

alert("Chrome");   

return ;   

}elseif(/opera/i.test(browserName)){   

alert("Opera");   

return ;   

}elseif(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){   

alert("Safari");   

return ;   

}else{   

alert("unKnow");   

    }   

}  



作者:年少追梦
链接:https://www.jianshu.com/p/9419df1e3f06
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
原文地址:https://www.cnblogs.com/smedas/p/12871355.html