_javascript获取手机sn">
当前位置:   article > 正文

js获取PC设备信息,js获取手机设备信息,最全_javascript获取手机sn

javascript获取手机sn

获取设备系统和型号《封装方法》

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title> 获取设备信息 《封装》</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
  7. <meta name="Generator" content="EditPlus">
  8. <meta name="Author" content="">
  9. <meta name="Keywords" content="">
  10. <meta charset="utf-8" />
  11. <meta name="Description" content="">
  12. </head>
  13. <body>
  14. <!-- <script src="https://cdn.jsdelivr.net/npm/mobile-detect@1.4.4/mobile-detect.min.js"></script> -->
  15. <script src="./js/mobile-detect.min.js"></script>
  16. <script>
  17. var GetDevice = function () {
  18. /* 版本信息获取 */
  19. // 各主流浏览器
  20. var getBrowser = function () {
  21. var u = navigator.userAgent
  22. var bws = [{
  23. name: 'sgssapp',
  24. it: /sogousearch/i.test(u)
  25. }, {
  26. name: 'wechat',
  27. it: /MicroMessenger/i.test(u)
  28. }, {
  29. name: 'weibo',
  30. it: !!u.match(/Weibo/i)
  31. }, {
  32. name: 'uc',
  33. it: !!u.match(/UCBrowser/i) || u.indexOf(' UBrowser') > -1
  34. }, {
  35. name: 'sogou',
  36. it: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1
  37. }, {
  38. name: 'xiaomi',
  39. it: u.indexOf('MiuiBrowser') > -1
  40. }, {
  41. name: 'baidu',
  42. it: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1
  43. }, {
  44. name: '360',
  45. it: u.indexOf('360EE') > -1 || u.indexOf('360SE') > -1
  46. }, {
  47. name: '2345',
  48. it: u.indexOf('2345Explorer') > -1
  49. }, {
  50. name: 'edge',
  51. it: u.indexOf('Edge') > -1
  52. }, {
  53. name: 'ie11',
  54. it: u.indexOf('Trident') > -1 && u.indexOf('rv:11.0') > -1
  55. }, {
  56. name: 'ie',
  57. it: u.indexOf('compatible') > -1 && u.indexOf('MSIE') > -1
  58. }, {
  59. name: 'firefox',
  60. it: u.indexOf('Firefox') > -1
  61. }, {
  62. name: 'safari',
  63. it: u.indexOf('Safari') > -1 && u.indexOf('Chrome') === -1
  64. }, {
  65. name: 'qqbrowser',
  66. it: u.indexOf('MQQBrowser') > -1 && u.indexOf(' QQ') === -1
  67. }, {
  68. name: 'qq',
  69. it: u.indexOf('QQ') > -1
  70. }, {
  71. name: 'chrome',
  72. it: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1
  73. }, {
  74. name: 'opera',
  75. it: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1
  76. }]
  77. for (var i = 0; i < bws.length; i++) {
  78. if (bws[i].it) {
  79. return bws[i].name
  80. }
  81. }
  82. return 'other'
  83. };
  84. // 系统区分
  85. var getOS = function () {
  86. var u = navigator.userAgent
  87. if (!!u.match(/compatible/i) || u.match(/Windows/i)) {
  88. return 'windows'
  89. } else if (!!u.match(/Macintosh/i) || u.match(/MacIntel/i)) {
  90. return 'macOS'
  91. } else if (!!u.match(/iphone/i) || u.match(/Ipad/i)) {
  92. return 'ios'
  93. } else if (u.match(/android/i)) {
  94. return 'android'
  95. } else if (u.match(/Ubuntu/i)) {
  96. return 'Ubuntu'
  97. } else {
  98. return 'other'
  99. }
  100. };
  101. //判断数组中是否包含某字符串
  102. Array.prototype.contains = function (needle) {
  103. for (i in this) {
  104. if (this[i].indexOf(needle) > 0)
  105. return i;
  106. }
  107. return -1;
  108. }
  109. var device_type = navigator.userAgent; //获取userAgent信息
  110. // document.write(device_type); //打印到页面
  111. var md = new MobileDetect(device_type); //初始化mobile-detect
  112. var os = md.os(); //获取系统
  113. console.log(os)
  114. var model = "";
  115. if (os == "iOS") { //ios系统的处理
  116. os = +md.version("iPhone");
  117. console.log(os)
  118. model = md.mobile();
  119. } else if (os == "AndroidOS") { //Android系统的处理
  120. os = md.os() + md.version("Android");
  121. var sss = device_type.split(";");
  122. var i = sss.contains("Build/");
  123. if (i > -1) {
  124. model = sss[i].substring(0, sss[i].indexOf("Build/"));
  125. }
  126. }
  127. else {
  128. os = getOS();
  129. model = getBrowser();
  130. }
  131. //alert(os + "---" + model);//打印系统版本和手机型号
  132. //console.log(model + '||' + os, '打印系统版本和手机型号')
  133. return { "os": os, "dev": model }
  134. }
  135. document.write("<hr>设备信息:" +JSON.stringify(GetDevice()));
  136. // 获取手机类型结束
  137. </script>
  138. </body>
  139. </html>

结果

PC浏览器访问

设备信息:{"os":"windows","dev":"chrome"}

小米10手机访问

设备信息:{"os":"AndroidOS10","dev":" M2002J9E "}

 

js获取PC设备信息

转载:https://blog.csdn.net/qq_16559905/article/details/51746330

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title> 获取PC设备信息 </title>
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
  6. <meta name="Generator" content="EditPlus">
  7. <meta name="Author" content="">
  8. <meta name="Keywords" content="">
  9. <meta charset="utf-8" />
  10. <meta name="Description" content="">
  11. <script id=clientEventHandlersJS language=javascript>
  12. /******************************************下为浏览器信息************************************************/
  13. //获取浏览器相关信息
  14. function allinfo() {
  15. var appName = navigator.appName; //浏览器的正式名称
  16. var appVersion = navigator.appVersion; //浏览器的版本号
  17. var cookieEnabled = navigator.cookieEnabled; // 返回用户浏览器是否启用了cookie
  18. var cpuClass = navigator.cpuClass; //返回用户计算机的cpu的型号,通常intel芯片返回"x86"(火狐没有)
  19. var mimeType = navigator.mimeTypes; // 浏览器支持的所有MIME类型的数组
  20. var platform = navigator.platform; // 浏览器正在运行的操作系统平台,包括Win16(windows3.x)
  21. // Win32(windows98,Me,NT,2000,xp),Mac68K(Macintosh 680x0)
  22. // 和MacPPC(Macintosh PowerPC)
  23. var plugins = navigator.plugins; // 安装在浏览器上的所有插件的数组
  24. var userLanguage = navigator.userLanguage; // 用户在自己的操作系统上设置的语言(火狐没有)
  25. var userAgent = navigator.userAgent; //包含以下属性中所有或一部分的字符串:appCodeName,appName,appVersion,language,platform
  26. var systemLanguage = navigator.systemLanguage; // 用户操作系统支持的默认语言(火狐没有)
  27. var info = "<table border=1>";
  28. var type = "";
  29. if (isIe()) {
  30. type = "IE浏览器";
  31. } else if (isFireFox()) {
  32. type = "火狐浏览器";
  33. }
  34. info += "<tr><td>浏览器类型:</td><td>" + type + "</td></tr>";
  35. info += "<tr><td>浏览器属性信息:</td><td>" + userAgent + "</td></tr>";
  36. info += "<tr><td>浏览器的正式名称:</td><td>" + appName + "</td></tr>";
  37. info += "<tr><td>浏览器的版本号:</td><td>" + appVersion + "</td></tr>";
  38. info += "<tr><td>浏览器的是否启用了cookie:</td><td>" + cookieEnabled + "</td></tr>";
  39. info += "<tr><td>cpu等级:</td><td>" + cpuClass + "</td></tr>";
  40. info += "<tr><td>浏览器的MIME类型:</td><td>" + mimeType.length + "</td></tr>";
  41. info += "<tr><td>系统平台:</td><td>" + platform + "</td></tr>";
  42. info += "<tr><td>安装的插件:</td><td>" + plugins + "</td></tr>";
  43. info += "<tr><td>插件的数量:</td><td>" + plugins.length + "</td></tr>";
  44. info += "<tr><td>插件的名称:</td><td>" + getPluginName() + "</td></tr>";
  45. info += "<tr><td>用户设置的操作系统语言:</td><td>" + userLanguage + "</td></tr>";
  46. info += "<tr><td>操作系统支持的默认语言:</td><td>" + systemLanguage + "</td></tr>";
  47. info += "<tr><td>Director:</td><td>" + checkePlugs("Director") + "</td></tr>";
  48. info += "<tr><td>javaEnabled:</td><td>" + navigator.javaEnabled() + "</td></tr>";
  49. info += "<tr><td>是否有quickTime:</td><td>" + checkePlugs("QuickTime") + "</td></tr>";
  50. info += "<tr><td>flash插件情况:</td><td>" + checkePlugs('Shockwave Flash') + "</td></tr>";
  51. info += "<tr><td>是否有MediaPlayer:</td><td>" + checkePlugs("MediaPlayer") + "</td></tr>";
  52. info += "<tr><td>是否有realPlayer:</td><td>" + checkePlugs("RealPlayer") + "</td></tr>";
  53. info += "<tr><td>屏幕分辨率高度:</td><td>" + window.screen.height + "</td></tr>";
  54. info += "<tr><td>屏幕分辨率宽度:</td><td>" + window.screen.width + "</td></tr>";
  55. info += "<tr><td>颜色质量:</td><td>" + window.screen.colorDepth + "位</td></tr>";
  56. info += "<tr><td>像素:</td><td>" + window.screen.deviceXDPI + "像素/英寸</td></tr>";
  57. info += "<tr><td>字体是否平滑:</td><td>" + window.screen.fontSmoothingEnabled + "</td></tr>";
  58. //info += "<tr><td>规定浏览器是否启用数据污点:</td><td>" + navigator.taintEnabled() + "</td></tr>";
  59. info += "</table>";
  60. document.getElementById("elInfo").innerHTML = info;
  61. return info;
  62. //director
  63. var appCodeName = navigator.appCodeName; //与浏览器相关的内部代码名
  64. var appMinorVersion = navigator.appMinorVersion; //辅版本号(通常应用于浏览器的补丁或服务包)
  65. var language = navigator.language; //浏览器支持的语言 (IE没有)
  66. var onLine = navigator.onLine; //返回浏览器是否处于在线模式(IE4以上版本)
  67. var opsProfile = navigator.opsProfile; // 未定义 (IE、火狐没有)
  68. var oscpu = navigator.oscpu; //浏览器正在运行的操作系统,其中可能有CPU的信息(IE没有)
  69. var product = navigator.product; // 浏览器的产品名(IE没有)
  70. var productSub = navigator.productSub; //关于浏览器更多信息(IE没有)
  71. var securityPolicy = navigator.securityPolicy; // 浏览器支持的加密类型(IE没有)
  72. var userProfile = navigator.userProfile; // 返回一个UserProfile对象,它存储用户的个人信息(火狐没有)
  73. var vender = navigator.vender; // 浏览器厂商名称(IE、火狐没有)
  74. var vendorSub = navigator.vendorSub; // 关于浏览器厂商更多的信息
  75. }
  76. //获取插件所有的名称
  77. function getPluginName() {
  78. var info = "";
  79. var plugins = navigator.plugins;
  80. if (plugins.length > 0) {
  81. for (i = 0; i < navigator.plugins.length; i++) {
  82. info += navigator.plugins[i].name + ";";
  83. }
  84. }
  85. return info;
  86. }
  87. //检查是否安装了某插件,如果安装了返回版本号
  88. function checkePlugs(pluginname) {
  89. var f = "-"
  90. var plugins = navigator.plugins;
  91. if (plugins.length > 0) {
  92. for (i = 0; i < navigator.plugins.length; i++) {
  93. if (navigator.plugins[i].name.indexOf(pluginname) >= 0) {
  94. f = navigator.plugins[i].description.split(pluginname)[1];
  95. return f;
  96. break;
  97. }
  98. }
  99. }
  100. return false;
  101. }
  102. //判断是否IE
  103. function isIe() {
  104. var i = navigator.userAgent.toLowerCase().indexOf("msie");
  105. return i >= 0;
  106. }
  107. //判断是否firefox
  108. function isFireFox() {
  109. var i = navigator.userAgent.toLowerCase().indexOf("firefox");
  110. return i >= 0;
  111. }
  112. /******************************************以上为浏览器信息,以下为pc信息************************************************/
  113. var locator = new ActiveXObject("WbemScripting.SWbemLocator");
  114. var service = locator.ConnectServer(".");
  115. function cpuInfo() { //CPU 信息
  116. var properties = service.ExecQuery("SELECT * FROM Win32_Processor");
  117. var e = new Enumerator(properties);
  118. var info = "<table border=1>";
  119. info += "<tr bgcolor='#CDEDED' style='font-weight: bold;' ><td width='450' >CPU 信息</td></tr>";
  120. for (; !e.atEnd(); e.moveNext()) {
  121. var p = e.item();
  122. info += "<tr style='color: red'><td >CPU序列号:" + p.ProcessorID + "</td></tr>";
  123. info += "<tr><td >" + p.Caption + "</td></tr>";
  124. info += "<tr><td >CPU编号:" + p.DeviceID + "</td></tr>";
  125. info += "<tr><td >CPU型号:" + p.Name + "</td></tr>";
  126. info += "<tr><td >CPU状态:" + p.CpuStatus + "</td></tr>";
  127. info += "<tr><td >CPU可用性:" + p.Availability + "</td></tr>";
  128. info += "<tr><td >CUP Level:" + p.Level + "</td></tr>";
  129. info += "<tr><td >主机名称:" + p.SystemName + "</td></tr>";
  130. info += "<tr><td >Processor Type:" + p.ProcessorType + "</td></tr>";
  131. }
  132. info += "</table>";
  133. return info;
  134. }
  135. function softDisk() { //软盘信息
  136. var properties = service.ExecQuery("SELECT * FROM Win32_FloppyDrive");
  137. var e = new Enumerator(properties);
  138. var info = "<table border=1>";
  139. info += "<tr bgcolor='#CDEDED' style='font-weight: bold;' ><td width='450'>软盘信息</td></tr>";
  140. for (; !e.atEnd(); e.moveNext()) {
  141. var p = e.item();
  142. info += "<tr><td >" + p.Description + "</td></tr>";
  143. info += "<tr><td >" + p.DeviceID + "</td></tr>";
  144. info += "<tr><td >" + p.Status + "</td></tr>";
  145. info += "<tr><td >" + p.Manufacuturer + "</td></tr>";
  146. }
  147. info += "</table>";
  148. return info;
  149. }
  150. function RomInfo() { //CD-ROM 信息
  151. var properties = service.ExecQuery("SELECT * FROM Win32_CDROMDrive");
  152. var e = new Enumerator(properties);
  153. var info = "<table border=1>";
  154. info += "<tr bgcolor='#CDEDED' style='font-weight: bold;'><td width='450' >CD-ROM 信息 </td></tr>";
  155. for (; !e.atEnd(); e.moveNext()) {
  156. var p = e.item();
  157. info += "<tr><td >驱动器名称:" + p.Caption + "</td></tr>";
  158. info += "<tr><td >描述:" + p.Description + "</td></tr>";
  159. info += "<tr><td >盘符:" + p.Drive + "</td></tr>";
  160. info += "<tr><td >驱动器状态:" + p.Status + "</td></tr>";
  161. info += "<tr><td >是否在使用:" + p.MediaLoaded + "</td></tr>";
  162. }
  163. info += "</table>";
  164. return info;
  165. }
  166. function keyBoardInfo() { //键盘信息
  167. var properties = service.ExecQuery("SELECT * FROM Win32_Keyboard");
  168. var e = new Enumerator(properties);
  169. var info = "<table border=1>";
  170. info += "<tr bgcolor='#CDEDED' style='font-weight: bold;'><td width='450'>键盘信息 </td></tr>";
  171. for (; !e.atEnd(); e.moveNext()) {
  172. var p = e.item();
  173. info += "<tr><td >键盘描述:" + p.Description + "</td></tr>";
  174. info += "<tr><td >键盘名称:" + p.Name + "</td></tr>";
  175. info += "<tr><td >键盘状态:" + p.Status + "</td></tr>";
  176. }
  177. info += "</table>";
  178. return info;
  179. }
  180. function mainBoard() { //主板信息
  181. var properties = service.ExecQuery("SELECT * FROM Win32_BaseBoard");
  182. var e = new Enumerator(properties);
  183. var info = "<table border=1>";
  184. info += "<tr bgcolor='#CDEDED' style='font-weight: bold;'><td width='450'>主板信息 </td></tr>";
  185. for (; !e.atEnd(); e.moveNext()) {
  186. var p = e.item();
  187. info += "<tr style='color: red'><td >主板ID:" + p.SerialNumber + "</td></tr>";
  188. info += "<tr><td >" + p.HostingBoard + "</td></tr>";
  189. info += "<tr><td >制造商:" + p.Manufacturer + "</td></tr>";
  190. info += "<tr><td >是否开启:" + p.PoweredOn + "</td></tr>";
  191. info += "<tr><td >型号:" + p.Product + "</td></tr>";
  192. info += "<tr><td >版本:" + p.Version + "</td></tr>";
  193. }
  194. info += "</table>";
  195. return info;
  196. }
  197. function disk() { //硬盘序列号 信息
  198. var properties = service.ExecQuery("SELECT * FROM Win32_DiskDrive");
  199. var e = new Enumerator(properties);
  200. var info = "<table border=1>";
  201. info += "<tr bgcolor='#CDEDED' style='font-weight: bold;' ><td width='450'>硬盘信息 </td></tr>";
  202. for (; !e.atEnd(); e.moveNext()) {
  203. var p = e.item();
  204. info += "<tr style='color: red'><td >硬盘序列号:" + p.signature + "</td></tr>";
  205. }
  206. info += "</table>";
  207. return info;
  208. }
  209. //获取Ram信息
  210. function raminfo() {
  211. var system = new Enumerator(service.ExecQuery("SELECT * FROM Win32_ComputerSystem")).item();
  212. var physicMenCap = Math.ceil(system.TotalPhysicalMemory / 1024 / 1024);
  213. //内存信息
  214. var memory = new Enumerator(service.ExecQuery("SELECT * FROM Win32_PhysicalMemory"));
  215. for (var mem = [], i = 0; !memory.atEnd(); memory.moveNext()) {
  216. mem[i++] = {
  217. cap: memory.item().Capacity / 1024 / 1024,
  218. speed: memory.item().Speed
  219. };
  220. }
  221. var info = "<table border=1>";
  222. info += "<tr bgcolor='#CDEDED' style='font-weight: bold;' ><td width='450'>内存信息 </td></tr>";
  223. info += "<tr style='color: red'><td >内存总量:" + (mem[0].cap + mem[1].cap) + "M</td></tr>";
  224. info += "<tr style='color: red'><td >可用物理内存:" + physicMenCap + "M</td></tr>";
  225. info += "</table>";
  226. return info;
  227. }
  228. //获取网络连接信息
  229. function ipinfo() {
  230. var properties = service.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE");
  231. var e = new Enumerator(properties);
  232. var info = "<table border=1>";
  233. info += "<tr bgcolor='#CDEDED' style='font-weight: bold;' ><td width='450'>网络连接信息:</td></tr>";
  234. var i = 1;
  235. for (; !e.atEnd(); e.moveNext()) {
  236. var p = e.item();
  237. info += "<tr style='color: red'><td >MAC地址" + i + ":" + p.MACAddress + "</td></tr>";
  238. info += "<tr style='color: red'><td >IP地址" + i + ":" + p.IPAddress(0) + "</td></tr>";
  239. i++;
  240. }
  241. info += "</table>";
  242. return info;
  243. }
  244. function pcInfo() { //所有信息
  245. var info = cpuInfo();
  246. info += disk();
  247. info += raminfo();
  248. info += mainBoard();
  249. info += ipinfo();
  250. info += keyBoardInfo();
  251. info += RomInfo();
  252. info += softDisk();
  253. document.getElementById('elInfo').innerHTML = info;
  254. return info;
  255. }
  256. /******************************************以上为pc信息************************************************/
  257. </script>
  258. </head>
  259. <body>
  260. <INPUT id="Button1" type="button" value="浏览器所有信息" name="Button1" language=javascript onclick="allinfo()">
  261. <INPUT id="Button1" type="button" value="客户端pc信息" name="Button1" language=javascript onclick="pcInfo()">
  262. <div id="elInfo">
  263. </div>
  264. </body>
  265. </html>

结果

浏览器类型: 
浏览器属性信息:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36
浏览器的正式名称:Netscape
浏览器的版本号:5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36
浏览器的是否启用了cookie:true
cpu等级:undefined
浏览器的MIME类型:4
系统平台:Win32
安装的插件:[object PluginArray]
插件的数量:3
插件的名称:Chrome PDF Plugin;Chrome PDF Viewer;Native Client;
用户设置的操作系统语言:undefined
操作系统支持的默认语言:undefined
Director:false
javaEnabled:false
是否有quickTime:false
flash插件情况:false
是否有MediaPlayer:false
是否有realPlayer:false
屏幕分辨率高度:1080
屏幕分辨率宽度:1920
颜色质量:24位
像素:undefined像素/英寸
字体是否平滑:undefined

js获取手机设备信息

参考1:https://www.cnblogs.com/moluxi/p/14299089.html

参考2:https://www.jb51.net/article/136197.htm

参考3:https://www.cnblogs.com/liuerpeng/p/13151914.html

这里用到了一个mobile-detect.js插件,基本可以实现我们需要的参数

下载地址:

https://github.com/hgoebl/mobile-detect.js/

文档地址:

http://hgoebl.github.io/mobile-detect.js/doc/MobileDetect.html

cnd地址:

https://cdn.jsdelivr.net/npm/mobile-detect@1.4.4/mobile-detect.min.js

  1. <!DOCTYPE html
  2. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title> 获取设备信息</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
  7. <meta name="Generator" content="EditPlus">
  8. <meta name="Author" content="">
  9. <meta name="Keywords" content="">
  10. <meta charset="utf-8" />
  11. <meta name="Description" content="">
  12. </head>
  13. <body>
  14. <script>
  15. /* 版本信息获取 */
  16. // 各主流浏览器
  17. var getBrowser = function () {
  18. var u = navigator.userAgent
  19. var bws = [{
  20. name: 'sgssapp',
  21. it: /sogousearch/i.test(u)
  22. }, {
  23. name: 'wechat',
  24. it: /MicroMessenger/i.test(u)
  25. }, {
  26. name: 'weibo',
  27. it: !!u.match(/Weibo/i)
  28. }, {
  29. name: 'uc',
  30. it: !!u.match(/UCBrowser/i) || u.indexOf(' UBrowser') > -1
  31. }, {
  32. name: 'sogou',
  33. it: u.indexOf('MetaSr') > -1 || u.indexOf('Sogou') > -1
  34. }, {
  35. name: 'xiaomi',
  36. it: u.indexOf('MiuiBrowser') > -1
  37. }, {
  38. name: 'baidu',
  39. it: u.indexOf('Baidu') > -1 || u.indexOf('BIDUBrowser') > -1
  40. }, {
  41. name: '360',
  42. it: u.indexOf('360EE') > -1 || u.indexOf('360SE') > -1
  43. }, {
  44. name: '2345',
  45. it: u.indexOf('2345Explorer') > -1
  46. }, {
  47. name: 'edge',
  48. it: u.indexOf('Edge') > -1
  49. }, {
  50. name: 'ie11',
  51. it: u.indexOf('Trident') > -1 && u.indexOf('rv:11.0') > -1
  52. }, {
  53. name: 'ie',
  54. it: u.indexOf('compatible') > -1 && u.indexOf('MSIE') > -1
  55. }, {
  56. name: 'firefox',
  57. it: u.indexOf('Firefox') > -1
  58. }, {
  59. name: 'safari',
  60. it: u.indexOf('Safari') > -1 && u.indexOf('Chrome') === -1
  61. }, {
  62. name: 'qqbrowser',
  63. it: u.indexOf('MQQBrowser') > -1 && u.indexOf(' QQ') === -1
  64. }, {
  65. name: 'qq',
  66. it: u.indexOf('QQ') > -1
  67. }, {
  68. name: 'chrome',
  69. it: u.indexOf('Chrome') > -1 || u.indexOf('CriOS') > -1
  70. }, {
  71. name: 'opera',
  72. it: u.indexOf('Opera') > -1 || u.indexOf('OPR') > -1
  73. }]
  74. for (var i = 0; i < bws.length; i++) {
  75. if (bws[i].it) {
  76. return bws[i].name
  77. }
  78. }
  79. return 'other'
  80. };
  81. // 系统区分
  82. var getOS = function () {
  83. var u = navigator.userAgent
  84. if (!!u.match(/compatible/i) || u.match(/Windows/i)) {
  85. return 'windows'
  86. } else if (!!u.match(/Macintosh/i) || u.match(/MacIntel/i)) {
  87. return 'macOS'
  88. } else if (!!u.match(/iphone/i) || u.match(/Ipad/i)) {
  89. return 'ios'
  90. } else if (u.match(/android/i)) {
  91. return 'android'
  92. } else if (u.match(/Ubuntu/i)) {
  93. return 'Ubuntu'
  94. } else {
  95. return 'other'
  96. }
  97. };
  98. var isEquipment = function () {
  99. let UA = navigator.userAgent,
  100. isAndroid = /android|adr|linux/gi.test(UA),
  101. isIOS = /iphone|ipod|ipad/gi.test(UA) && !isAndroid,
  102. isBlackBerry = /BlackBerry/i.test(UA),
  103. isWindowPhone = /IEMobile/i.test(UA),
  104. isMobile = isAndroid || isIOS || isBlackBerry || isWindowPhone;
  105. return {
  106. isAndroid: isAndroid,
  107. isIOS: isIOS,
  108. isMobile: isMobile,
  109. isWeixin: /MicroMessenger/gi.test(UA),
  110. isQQ: /QQ/gi.test(UA),
  111. isPC: !isMobile,
  112. isWeibo: /WeiBo/gi.test(UA)
  113. }
  114. };
  115. document.write("<hr>信息:" + JSON.stringify(isEquipment()));
  116. </script>
  117. <!-- <script src="https://cdn.jsdelivr.net/npm/mobile-detect@1.4.4/mobile-detect.min.js"></script> -->
  118. <script src="./js/mobile-detect.min.js"></script>
  119. <script>
  120. //判断数组中是否包含某字符串
  121. Array.prototype.contains = function (needle) {
  122. for (i in this) {
  123. if (this[i].indexOf(needle) > 0)
  124. return i;
  125. }
  126. return -1;
  127. }
  128. var device_type = navigator.userAgent; //获取userAgent信息
  129. // document.write(device_type); //打印到页面
  130. var md = new MobileDetect(device_type); //初始化mobile-detect
  131. var os = md.os(); //获取系统
  132. console.log(os)
  133. var model = "";
  134. if (os == "iOS") { //ios系统的处理
  135. os = +md.version("iPhone");
  136. console.log(os)
  137. model = md.mobile();
  138. } else if (os == "AndroidOS") { //Android系统的处理
  139. os = md.os() + md.version("Android");
  140. var sss = device_type.split(";");
  141. var i = sss.contains("Build/");
  142. if (i > -1) {
  143. model = sss[i].substring(0, sss[i].indexOf("Build/"));
  144. }
  145. }
  146. //alert(os + "---" + model);//打印系统版本和手机型号
  147. //console.log(model + '||' + os, '打印系统版本和手机型号')
  148. document.write("浏览器:" + getBrowser());
  149. document.write("<hr>");
  150. document.write("系统区分:" + getOS());
  151. document.write("<hr>移动设备信息:" + model + '||' + os+'打印系统版本和手机型号');
  152. // 获取手机类型结束
  153. </script>
  154. </body>
  155. </html>

结果


信息:{"isAndroid":false,"isIOS":true,"isMobile":true,"isWeixin":false,"isQQ":false,"isPC":false,"isWeibo":false} 浏览器:safari


系统区分:ios


移动设备信息:iPhone||13.23打印系统版本和手机型号

浏览器:wechat
系统区分:ios
信息:{"isAndroid":false,"isIOS":true,"isMobile":true,"isWeixin":true,"isQQ":false,"isPC":false,"isWeibo":false}
移动设备信息:iPhone||14.2打印系统版本和手机型号

 

 

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/321026
推荐阅读
相关标签
  

闽ICP备14008679号