使用JavaScript获取设备信息

发布时间:2023-05-16

一、获取设备信息

JavaScript提供了一些用于获取设备信息的API,包括Navigator对象和Screen对象。 Navigator对象提供了有关浏览器和操作系统的信息,如用户代理字符串、浏览器名称和版本号等。以下是一些示例代码:

//获取浏览器名称
window.navigator.appName
//获取浏览器版本号
window.navigator.appVersion
//获取操作系统名称
window.navigator.platform

Screen对象提供了有关屏幕的信息,如屏幕宽度、高度和颜色深度等。以下是一些示例代码:

//获取屏幕宽度和高度
window.screen.width
window.screen.height
//获取屏幕颜色深度
window.screen.colorDepth

二、js获取设备唯一标识

获取设备的唯一标识是很有用的,例如用于用户身份验证和设备统计等。JavaScript提供了getCpu系列方法用于获取设备唯一标识。以下是一些示例代码:

//获取CPU的信息
function getCpu() {
  return new Promise((resolve, reject) => {
    navigator.hardwareConcurrency ? resolve(navigator.hardwareConcurrency) : reject('不支持获取CPU信息')
  })
}
//获取设备标识
function getDeviceId() {
  let deviceId = localStorage.getItem('deviceId')
  if (!deviceId) {
    getCpu().then(cpu => {
      deviceId = md5(cpu)
      localStorage.setItem('deviceId', deviceId)
    })
  }
  return deviceId
}

三、获取设备信息权限

在获取设备信息之前,需要先获取用户的授权。以下是一些示例代码:

//请求获取地理位置授权
navigator.geolocation.getCurrentPosition(success, error, options)
function success(position) {
  console.log(position.coords.latitude, position.coords.longitude)
}
function error(error) {
  console.log(error.code, error.message)
}
let options = {
  enableHighAccuracy: true,
  timeout: 5000,
  maximumAge: 0
}

四、js获取用户信息

JavaScript可以通过访问客户端的localStorage、sessionStorage、cookie等来获取用户信息。以下是一些示例代码:

//获取localStorage中的用户信息
let user = JSON.parse(localStorage.getItem('user'))
//设置localStorage中的用户信息
localStorage.setItem('user', JSON.stringify({ name: 'John', age: 25 }))

五、js获取登录用户信息

获取登录用户信息是指在需要用户登录的情况下获取用户的信息。可以通过发送POST请求到服务器来获取用户的信息。以下是一些示例代码:

//发送POST请求获取登录用户信息
fetch('/user/info', {
  method: 'POST',
  credentials: 'include'
}).then(response => {
  console.log(response.json())
}).catch(error => {
  console.log(error)
})

六、js获取电脑信息

JavaScript可以通过访问客户端的localStorage、sessionStorage、cookie等来获取电脑信息。以下是一些示例代码:

//获取localStorage中的电脑信息
let computer = JSON.parse(localStorage.getItem('computer'))
//设置localStorage中的电脑信息
localStorage.setItem('computer', JSON.stringify({ brand: 'Dell', model: 'Laptop' }))

七、js获取手机设备序列号

获取手机设备序列号需要在使用WebView开发混合应用的情况下才有意义。可以通过Android和iOS提供的API来获取。以下是一些示例代码:

//获取Android设备序列号
if (window.Android) {
  console.log(window.Android.getDeviceId())
}
//获取iOS设备序列号
if (window.webkit && window.webkit.messageHandlers && window.webkit.messageHandlers.getDeviceId) {
  window.webkit.messageHandlers.getDeviceId.postMessage(null)
}