La propiedad window.navigator.platform no se falsifica cuando se cambia la cadena userAgent. Probé en mi Mac si cambio el userAgent a iPhone o Chrome Windows, navigator.platform sigue siendo MacIntel.

La propiedad también es de solo lectura

Se me ocurrió la siguiente tabla
Computadoras Mac
Mac68K Sistema Macintosh 68K.
MacPPC Sistema Macintosh PowerPC.
MacIntel Sistema Intel Macintosh.
Dispositivos iOS
iPhone iPhone.
iPod iPod Touch.
iPad iPad.
Los macs modernos regresan, navigator.platform == "MacIntel"pero para dar alguna "prueba de futuro" no utilices la coincidencia exacta, con suerte cambiarán a algo como MacARMo MacQuantumen el futuro.
var isMac = navigator.platform.toUpperCase().indexOf('MAC')>=0;
Para incluir iOS que también usa el "lado izquierdo"
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>
Dado que la mayoría de los sistemas operativos usan el botón de cierre a la derecha, puede mover el botón de cierre hacia la izquierda cuando el usuario está en un sistema operativo MacLike; de lo contrario, no es un problema si lo coloca en el lado más común, el derecho.
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/