前端通過js獲取手機型號


前段通過js獲取手機型號


需求:

用戶登錄后記錄當前的手機型號並記錄

插件:

  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獲取具體機型


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM