前端經過js獲取手機型號

###前段經過js獲取手機型號

需求:

用戶登陸後記錄當前的手機型號並記錄javascript

插件:

  1. mobile-detect.js插件地址
  2. mobile-device-js插件地址

使用步驟:

  • 獲取UA信息->根據安卓和IOS不一樣的處理
  • IOS再經過插件mobile-device-js去獲取型號
  • 安卓經過解析UA信息去獲取build以前的信息獲得手機型號
//引入插件
<!--獲取手機型號相關js-->
<script type="text/javascript" src="/mobile-detect.js"></script>
<!--配合這個js再去獲取蘋果手機的型號-->
<script type="text/javascript" src="/iphone-device.js"></script>
    //獲取userAgent信息 
    var user_agent = navigator.userAgent;
    console.log(user_agent);
    //初始化mobile-detect
    var md = new MobileDetect(user_agent);
    var os = md.os();//獲取系統
    var newMobile = "";
    //ios系統的處理 
    if(os == "iOS"){
        os = md.os() + md.version("iPhone");
        ios = md.mobile();
        //再經過iphone-device.js獲取具體的蘋果手機型號
        newMobile = MobileDevice.getModels().join(' or ');
        if(newMobile == 'unknown'){
            newMobile = '';
        }
    }
    //Android系統的處理
    else if(os == "AndroidOS"){
        os = md.os() + md.version("Android");
        var sss = user_agent.split(";");
        //判斷UA裏邊有沒有Build信息,經過這個拿到安卓的具體機型
        var i = sss.contains("Build/");
        if (i > -1) {
            newMobile = sss[i].substring(0, sss[i].indexOf("Build/"));
        }
    }
    //
    //判斷數組中是否包含某字符串(安卓機型獲取用到)
    Array.prototype.contains = function(needle) {
        for (i in this) {
            if (this[i].indexOf(needle) > 0)
                return i;
        }
        return -1;
    }
    //寫入數據庫
    if(newMobile){
        $.get(
            '/saveUserMobile.php',{uid:uid, mobile:newMobile},
            function(json){
                console.log(json.msg);
            },'json'
        );
    }

總結

  • 經過mobile-detect.js插件獲取UA信息
  • 安卓系統裏經過Build/前一個信息拿到安卓的機型
  • IOS系統裏在經過另外一個插件mobile-device-js獲取具體機型
相關文章
相關標籤/搜索