最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

How to Detect macOS Big Sur andor Monterey in JavaScript? - Stack Overflow

programmeradmin5浏览0评论

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 mand:

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?

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 mand:

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?

Share Improve this question asked Jan 10, 2022 at 16:44 HirsuteJimHirsuteJim 6766 silver badges15 bronze badges 1
  • 1 bugs.webkit/show_bug.cgi?id=216593 – Quentin Commented Jan 10, 2022 at 16:45
Add a ment  | 

2 Answers 2

Reset to default 5

User agent string is no longer reliable in future versions of Mac OS and Windows (11). You should look into client hints API for javascript. Some references for context and the future solution:

https://www.otsukare.info/2021/02/15/capping-macos-user-agent

https://help.duo./s/article/6627?language=en_US

https://web.dev/user-agent-client-hints/

https://browserleaks./client-hints

The new API doesn't work for all browsers yet. So until the world catches up, the detection for new OSes is best effort.

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".

发布评论

评论列表(0)

  1. 暂无评论