赞
踩
想要通过js获取手机的一些基本参数,就要使用到navigator.userAgent,通过我们可以获取到浏览器的一些基本信息。如果想在页面中看到navigator.userAgent内容,我们可以使用document.write(navigator.userAgent);打印到页面上,可以更清晰的看到具体内容。
1、下面是我打印的一些手机中的userAgent内容:
- 1、iphone6 plus
- Mozilla/5.0 (iPhone; CPU iPhone OS 10_2_1 like Mac OS X) AppleWebKit/602.4.6 (KHTML, like Gecko) Mobile/14D27
-
- iphone7 plus
- Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Mobile/14E304
-
- 2、魅族
- Mozilla/5.0 (Linux; Android 5.1; m1 metal Build/LMY47I) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/40.0.2214.127 Mobile Safari/537.36
-
- 3、三星
- Mozilla/5.0 (Linux; Android 6.0.1; SM-A8000 Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36
-
- 4、小米
- Mozilla/5.0 (Linux; Android 6.0.1; Redmi Note 4X Build/MMB29M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/55.0.2883.91 Mobile Safari/537.36
2、在网上查了下有木有现成的js能直接实现此功能,找到了一个mobile-detect.js。基本可以实现我们需要的参数,下载地址:
https://github.com/hgoebl/mobile-detect.js/
文档地址:
http://hgoebl.github.io/mobile-detect.js/doc/MobileDetect.html
使用方法:
var md = new MobileDetect( 'Mozilla/5.0 (Linux; U; Android 4.0.3; en-in; SonyEricssonMT11i' + ' Build/4.1.A.0.562) AppleWebKit/534.30 (KHTML, like Gecko)' + ' Version/4.0 Mobile Safari/534.30'); // more typically we would instantiate with 'window.navigator.userAgent' // as user-agent; this string literal is only for better understanding console.log( md.mobile() ); // 'Sony' console.log( md.phone() ); // 'Sony' console.log( md.tablet() ); // null console.log( md.userAgent() ); // 'Safari' console.log( md.os() ); // 'AndroidOS' console.log( md.is('iPhone') ); // false console.log( md.is('bot') ); // false console.log( md.version('Webkit') ); // 534.3 console.log( md.versionStr('Build') ); // '4.1.A.0.562' console.log( md.match('playstation|xbox') ); // false
Build/...。所以就以此做了下单独处理,来获取Android手机型号。下面是具体代码:
- <!DOCTYPE html>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
- <meta name="viewport"
- content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
- <title>JS获取手机型号和系统</title>
- </head>
- <body>
- </body>
- <script src="js/lib/jquery-1.11.1.min.js"></script>
- <script src="js/lib/mobile-detect.min.js"></script>
- <script>
- //判断数组中是否包含某字符串
- Array.prototype.contains = function(needle) {
- for (i in this) {
- if (this[i].indexOf(needle) > 0)
- return i;
- }
- return -1;
- }
-
- var device_type = navigator.userAgent;//获取userAgent信息
- document.write(device_type);//打印到页面
- var md = new MobileDetect(device_type);//初始化mobile-detect
- var os = md.os();//获取系统
- var model = "";
- if (os == "iOS") {//ios系统的处理
- os = md.os() + md.version("iPhone");
- model = md.mobile();
- } else if (os == "AndroidOS") {//Android系统的处理
- os = md.os() + md.version("Android");
- var sss = device_type.split(";");
- var i = sss.contains("Build/");
- if (i > -1) {
- model = sss[i].substring(0, sss[i].indexOf("Build/"));
- }
- }
- alert(os + "---" + model);//打印系统版本和手机型号
- </script>
- </html>

得到结果:
iphone iOS10.21---iPhone
android AndroidOS6.01---Redmi Note 4X
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。