Estoy ejecutando macOS Monterey (12.2) con Safari 15.3. Estoy tratando de usar JavaScript en Safari (o Chrome) para determinar mediante programación la versión de macOS instalada.
Cuando ejecuto el siguiente comando:
var nAgt = navigator.userAgent;Obtengo los siguientes resultados:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, como Gecko) Versión/15.3 Safari/605.1.15
Mozilla/5.0 (Macintosh; Intel Mac OS X10_15_7) AppleWebKit/537.36 (KHTML, como Gecko) Chrome/96.0.4664.110 Safari/537.36
Gracias a @Quentin... SI entiendo correctamente, parece que ya no se pueden obtener informes precisos de los sistemas macOS más nuevos a través de UserAgent.
Parece que gran parte del mundo simplemente asumió que sería macOS 10.xx para siempre y, por lo tanto, muchos sitios no pudieron manejar una respuesta de macOS 11.xx o macOS 12.xx
También parece haber un deseo de ocultar los detalles subyacentes del sistema operativo para aquellos que podrían usarlo con fines nefastos de " huella digital ".
La cadena de agente de usuario ya no es confiable en futuras versiones de Mac OS y Windows (11). Debe consultar la API de sugerencias del cliente para javascript. Algunas referencias para el contexto y la solución futura:
https://www.otsukare.info/2021/02/15/capping-macos-user-agent
https://help.duo.com/s/article/6627?language=en_US
https://web.dev/user-agent-client-hints/
https://browserleaks.com/client-hints
La nueva API aún no funciona para todos los navegadores. Entonces, hasta que el mundo se ponga al día, la detección de nuevos sistemas operativos es el mejor esfuerzo.