浏览器h5获取不到具体的手机型号和设备唯一标识符

Posted 铁锤妹妹@

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浏览器h5获取不到具体的手机型号和设备唯一标识符相关的知识,希望对你有一定的参考价值。

前言

最近对接一个登录接口,要求获取手机型号,设备唯一标识码,然后去百度了一大通,最后得出一个结论。
js是获取不了手机的IMEI信息的,因为js是运行在浏览器上的语言,只能获取浏览器内核信息,获取不了手机本身的设备型号(IMEI,IDFA),手机型号(iphone12,国行A123)
在这里插入图片描述

什么是设备唯一标识符?

在这里插入图片描述

具体代码实现

mobile-detect插件官方文档传送门

npm install mobile-detect --save
import mobileDetect from "mobile-detect"; //具体哪个页面用到单独引用
mounted() {
    //判断数组中是否包含某字符串
    function contains(sss, needle) {
      for (i in sss) {
        if (sss[i].indexOf(needle) > 0) return i;
      }
      return -1;
    }

    var device_type = navigator.userAgent; //获取userAgent信息
    var md = new mobileDetect(navigator.userAgent); //初始化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 = contains(sss, "Build/");
      if (i > -1) {
        model = sss[i].substring(0, sss[i].indexOf("Build/"));
      }
    }
    this.mobile_models = os + "_" + model; 
    console.log('您的手机是:'+ this.mobile_models); //打印系统版本和手机型号
  },

结果
在这里插入图片描述
另外记录下官方文档这部分的内容,截取我们需要的userAgent信息
在这里插入图片描述

以上是关于浏览器h5获取不到具体的手机型号和设备唯一标识符的主要内容,如果未能解决你的问题,请参考以下文章

php 如何获取客户端唯一标识?

如何获取Android唯一标识

Android--史上最全最完整,获取设备信息获取手机唯一标识

iOS-蓝牙设备的唯一标识问题

如何获取Android唯一标识

前端JS获取设备IP地址和唯一标识