So I’m trying to move a “close” button to the left side when the user is on Mac and the right side when the user is on PC. Now I’m doing it by examining the user agent, but it can be too easily spoofed for reliable OS detection. Is there a surefire way to detect whether the OS on which the browser is running is Mac OS X or Windows? If not, what’s better than user agent sniffing?
Share
The window.navigator.platform property is not spoofed when the userAgent string is changed.
I tested on my Mac if I change the userAgent to iPhone or Chrome Windows, navigator.platform remains MacIntel.
The property is also read-only
I could came up with the following table
Modern macs returns
navigator.platform == "MacIntel"but to give some "future proof" don’t use exact matching, hopefully they will change to something likeMacARMorMacQuantumin future.To include iOS that also use the "left side"
Since most O.S. use the close button on the right, you can just move the close button to the left when the user is on a MacLike O.S., otherwise isn’t a problem if you put it on the most common side, the right.
http://www.nczonline.net/blog/2007/12/17/don-t-forget-navigator-platform/