How to determine Mac OS X version in JavaScript

I searched everywhere on the Internet about how to detect the OS and its version. I learned how to do this for windows (see code below), and now I want it to work for Mac as well.

Windows discovery code (works great!):

// OS detection var _os_ = (function(){ var userAgent = navigator.userAgent.toLowerCase(); return { isWin2K: /windows nt 5.0/.test(userAgent), isXP: /windows nt 5.1/.test(userAgent), isVista: /windows nt 6.0/.test(userAgent), isWin7: /windows nt 6.1/.test(userAgent), }; }()); // get OS shorthand names var OS; if(_os_.isWin2K){ OS = "Windows 2000"; } if(_os_.isXP){ OS = "Windows XP"; } if(_os_.isVista){ OS = "Windows Vista"; } if(_os_.isWin7){ OS = "Windows 7"; } alert(OS); 

So, I am wondering if this is possible to do for Apple Mac OS X. How,

  ... return { isMac10.5: /mac osx 10.5/.test(userAgent), isMac10.6: /mac osx 10.6/.test(userAgent), isMac10.7: /mac osx 10.7/.test(userAgent), isMac10.8: /mac osx 10.8/.test(userAgent), }; .... if(_os_.isMac10.5){ OS = "Mac OS X Leopard"; } etc., etc... 

Any ideas? Any help would be greatly appreciated!

+4
source share
2 answers
 return { isMac105: /Mac OS X 10_5/.test(userAgent), isMac106: /Mac OS X 10_6/.test(userAgent), isMac107: /Mac OS X 10_7/.test(userAgent), isMac108: /Mac OS X 10_8/.test(userAgent), }; 

useragent for mac, for example.

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_1) AppleWebKit/536.25 (KHTML, like Gecko) Version/6.0 Safari/536.25

Macintosh; U; Intel Mac OS X 10_5_8; ru) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5

+4
source

Yes, because on Firefox the OSX version is not listed as 10_6, but 10.6 So, you need to add this particular line: isMac106: / Mac OS X 10.6 / .test (userAgent)

Pay attention to the point between 10 and 6

+1
source

Source: https://habr.com/ru/post/1434503/


All Articles