判断设备

Posted 寂寞之砂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断设备相关的知识,希望对你有一定的参考价值。

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, //苹果、谷歌内核
            isWebchat: window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == ‘micromessenger‘,
            gecko: u.indexOf(‘Gecko‘) > -1 && u.indexOf(‘Khtml‘) == -1, //火狐内核
            mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf(‘Android‘) > -1 || u.indexOf(‘Linux‘) > -1, //android终端或者uc浏览器
            iPhone: u.indexOf(‘iPhone‘) > -1 || u.indexOf(‘Mac‘) > -1, //是否为iPhone或者QQHD浏览器
            iPad: u.indexOf(‘iPad‘) > -1, //是否iPad
            webApp: u.indexOf(‘Safari‘) == -1 //是否web应该程序,没有头部与底部

        };
    }(),
    language: (navigator.browserLanguage || navigator.language).toLowerCase()
}
/*是否为移动终端*/
if(browser.versions.mobile) {
    /*是否微信*/
    if(browser.versions.isWebchat) {
        isWeixin = true;
        var webChatiPhoneUrl = "http://a.app.qq.com/o/simple.jsp?pkgname=com.hexfuture.hexfamily";
        if (browser.versions.android) {
            downloadUrl = downloadAndroidUrl;
            downloadApp(2);
        }
        else if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
            downloadiPhoneUrl = webChatiPhoneUrl;
            downloadUrl = webChatiPhoneUrl;
            downloadApp(1);
        }
        else {
            downloadUrl = downloadiPhoneUrl;
            otherDownload();
        }
    }
    else {
        /*ios终端*/
        if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
            /*是否为iPhone Or 是否iPad*/
            if (browser.versions.iPhone || browser.versions.iPad) {
                downloadUrl = downloadiPhoneUrl;
                downloadApp(1);
            }
            else {
                otherDownload();
            }
        }
        /*android终端*/
        else if (browser.versions.android) {
            downloadUrl = downloadAndroidUrl;
            downloadApp(2);
        }
        else {
            otherDownload();
        }
    }
}

 

以上是关于判断设备的主要内容,如果未能解决你的问题,请参考以下文章

js简洁代码片段

PHP常用代码片段

如何判断片段在 N​​avigationDrawer 中何时不可见

添加两个窗格的平板电脑布局会导致在移动设备中找不到视图(小于w600dp)

如何判断我在 Android 代码中运行的是啥设备

判断客户端设备的代码: