1. 程式人生 > >JS 判斷PC、android、ios、微信瀏覽器

JS 判斷PC、android、ios、微信瀏覽器

通過js userAgent來判斷

判斷訪問此連結的作業系統

<script>
    var Agents = new Array("Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod");
    var flag = true;

    /**
     * 初始化載入程式
     */
    window.onload = function(){
        console.log(isMobile());
        console.log(isWechat());
        console.log(getOsVersion());
    }

    /**
     * 判斷是不是移動端
     * @returns {boolean}
     */
    function isMobile() {
        var userAgentInfo = navigator.userAgent;
        for (var v = 0; v < Agents.length; v++) {
            if (userAgentInfo.indexOf(Agents[v]) > 0) {
                flag = false;
                break;
            }
        }
        document.write("是否移動端-"+ !flag+"//");
        return "是否移動端-" + !flag;
    }

    /**
     * 判斷是不是微信瀏覽器
     * @returns {boolean}
     */
    function isWechat() {
        var ua = navigator.userAgent.toLowerCase();

        if(ua.match(/MicroMessenger/i)=="micromessenger"){
            document.write("是微信瀏覽器//");
            return "是微信瀏覽器";
        }
        else{
            document.write("不是微信瀏覽器//");
            return "不是微信瀏覽器";
        }
    }

    /**
     * 判斷瀏覽器所在機器作業系統版本
     */
    function getOsVersion(){
        var u = navigator.userAgent,version = '';
        if (u.indexOf('Mac OS X') > -1) {
            //ios
            var regStr_saf = /OS [\d._]*/gi;
            var verinfo = u.match(regStr_saf);
            version ="ios" + (verinfo + "").replace(/[^0-9|_.]/ig,'').replace(/_/ig,'.');
            document.write("ios");
        } else if (u.indexOf('Android') > -1
            || u.indexOf('Linux') > -1) {
            //android
            version ="android" + u.substr(u.indexOf('Android') + 8, u.indexOf(";", u.indexOf("Android")) - u.indexOf('Android') - 8);
            document.write("android");
        } else if (u.indexOf('BB10') > -1) {
            //黑莓bb10系統
            version ="黑莓bb10系統" +  u.substr(u.indexOf('BB10') + 5, u.indexOf(";", u.indexOf("BB10")) - u.indexOf('BB10') - 5);
            document.write("黑莓bb10系統");
        } else if (u.indexOf('IEMobile')) {
            //windows phone
            version ="windows phone";
            document.write("windows phone")
        }
        return version;
    }

</script>