userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值,所以userAgent 的判断是识别浏览器的关键,我们在移动互联网开发中,也经常需要通过userAgent 判断是桌面端设备还是移动设备来进行一些操作,

下面是整理的是常见代码

var browser={
    versions:function(){
        var u = navigator.userAgent, app = navigator.appVersion;
        return {
            trident: u.indexOf('Trident') > -1, //IE内核
            presto: u.indexOf('Presto') > -1, //opera内核
            webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
            gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
            mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
            iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
            iPad: u.indexOf('iPad') > -1, //是否iPad
            webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
            weixin: u.indexOf('MicroMessenger') > -1, //是否微信
            qq: u.match(/\sQQ/i) == " qq" //是否QQ
        };
    }(),
    language:(navigator.browserLanguage || navigator.language).toLowerCase()
} ;
window.addEventListener('load', function (event) {
	setTimeout(function () {
	   if(browser.versions.mobile && browser.versions.android){
	       //
	   }else{
	   	   //
	   }
	}, 4000);
});
有时候在手机上打开pc站,也可以通过下面更简单的方法判断,然后跳转到我们的h5页面,如:

(function(){
    // 登录页面不跳转 h5页面
    if(window.location.href.search('login.html') != -1){
        return;
    }
    //移动端访问pc页面跳转H5页面
    var ua=navigator.userAgent,
        regMobileDevice=/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i,
        h5Url = 'http://m.qianduan8.com/';
    if(ua.match(regMobileDevice)){
        window.location.replace(h5Url);
    }
})();