A propriedade window.navigator.platform não é falsificada quando a string userAgent é alterada. Eu testei no meu Mac se eu mudar o userAgent para iPhone ou Chrome Windows, navigator.platform continua sendo MacIntel.

A propriedade também é somente leitura

Eu poderia chegar à seguinte tabela
Computadores Mac
Mac68K Sistema Macintosh 68K.
MacPPC Sistema Macintosh PowerPC.
MacIntel Sistema Macintosh Intel.
Dispositivos iOS
iPhone Iphone.
iPod iPod Touch.
iPad iPad.
Os macs modernos estão de volta, navigator.platform == "MacIntel"mas para dar alguma "prova futura", não use a correspondência exata, com sorte eles mudarão para algo como MacARMou MacQuantumno futuro.
var isMac = navigator.platform.toUpperCase().indexOf('MAC')>=0;
Para incluir iOS que também usa o "lado esquerdo"
var isMacLike = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
var isIOS = /(iPhone|iPod|iPad)/i.test(navigator.platform);
var is_OSX = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
var is_iOS = /(iPhone|iPod|iPad)/i.test(navigator.platform);
var is_Mac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
var is_iPhone = navigator.platform == "iPhone";
var is_iPod = navigator.platform == "iPod";
var is_iPad = navigator.platform == "iPad";
/* Output */
var out = document.getElementById('out');
if (!is_OSX) out.innerHTML += "This NOT a Mac or an iOS Device!";
if (is_Mac) out.innerHTML += "This is a Mac Computer!\n";
if (is_iOS) out.innerHTML += "You're using an iOS Device!\n";
if (is_iPhone) out.innerHTML += "This is an iPhone!";
if (is_iPod) out.innerHTML += "This is an iPod Touch!";
if (is_iPad) out.innerHTML += "This is an iPad!";
out.innerHTML += "\nPlatform: " + navigator.platform;
<pre id="out"></pre>
Como a maioria dos sistemas operacionais usa o botão Fechar à direita, você pode simplesmente mover o botão Fechar para a esquerda quando o usuário está em um MacLike OS, caso contrário, não será um problema se você colocá-lo no lado mais comum, o direito.
setTimeout(test, 1000); //delay for demonstration
function test() {
var mac = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
if (mac) {
document.getElementById('close').classList.add("left");
}
}
#window {
position: absolute;
margin: 1em;
width: 300px;
padding: 10px;
border: 1px solid gray;
background-color: #DDD;
text-align: center;
box-shadow: 0px 1px 3px #000;
}
#close {
position: absolute;
top: 0px;
right: 0px;
width: 22px;
height: 22px;
margin: -12px;
box-shadow: 0px 1px 3px #000;
background-color: #000;
border: 2px solid #FFF;
border-radius: 22px;
color: #FFF;
text-align: center;
font: 14px"Comic Sans MS", Monaco;
}
#close.left{
left: 0px;
}
<div id="window">
<div id="close">x</div>
<p>Hello!</p>
<p>If the "close button" change to the left side</p>
<p>you're on a Mac like system!</p>
</div>
http://www.nczonline.net/blog/2007/12/17/don-t-forget-navigator-platform/