'How to Detect macOS Big Sur and/or Monterey in JavaScript?

I am running macOS Monterey (12.2) with Safari 15.3. I am trying to use JavaScript in Safari (or Chrome) to programmatically determine the version of macOS installed.

When I run the following command:

var nAgt = navigator.userAgent;

I get the following results:

Safari

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.3 Safari/605.1.15

Google Chrome

Mozilla/5.0 (Macintosh; Intel Mac OS X10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36

Why am I seeing 10_15_7? Should I not be seeing 12_2 somewhere?



Solution 1:[1]

Thank you to @Quentin ... IF I understand correctly, It appears that one can no longer get accurate reporting of the newer macOS systems via the UserAgent.

  • It seems much of the world simply assumed that it would be macOS 10.xx forever and therefore many sites could not handle a macOS 11.xx or a macOS 12.xx response.

  • There also appears to be a desire to hide underlying details of the OS for those who might use it for nefarious "fingerprinting purposes".

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 HirsuteJim