¿Hay alguna forma de saber el tipo de dispositivo, por ejemplo, móvil, tableta desde la API de Navigator, https://developer.mozilla.org/en-US/docs/Web/API/Navigator ?
En un contexto seguro, puede usar navigator.userAgentData , que proporciona un objeto NavigatorUAData , que tiene información útil sobre el agente de usuario (navegador), incluida una bandera mobile . El método getHighEntropyValues devuelve una promesa que se cumplirá con información más detallada (si el usuario lo permite) o se rechazará (si no, o el navegador no ofrece valores de alta entropía).
Para las plataformas que no son compatibles userAgentData (todavía), puede volver a analizar la cadena de userAgent , pero tenga en cuenta que la cadena de userAgent es notoriamente poco confiable y fácil de falsificar.
Puede utilizar la siguiente función:
getDeviceType() { const ua = navigator.userAgent; const tabletRegex = /(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i; const mobRegex = /Mobile|iP(hone|od)|Android|BlackBerry|IEMobile|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/; if (tabletRegex.test(ua)) return "tablet"; if (mobRegex.test(ua)) return "mobile"; return "desktop"; }