Window.navigator.platform властивість не підроблений , коли рядок UserAgent змінюється. Я перевірив свій комп’ютер на Mac, якщо змінив userAgent на iPhone або Chrome Windows, navigator.platform залишається MacIntel.

Властивість також доступна лише для читання

Я міг би придумати наступну таблицю
Mac Computers
Mac68K Система Macintosh 68K.
MacPPC Система Macintosh PowerPC.
MacIntel Система Macintosh Intel.
Пристрої iOS
iPhone iPhone.
iPod iPod Touch.
iPad iPad.
Сучасні маки повертаються, navigator.platform == "MacIntel"але для того, щоб дати «доказ у майбутньому», не використовуйте точну відповідність, сподіваємось, вони зміняться на щось подібне MacARMабо MacQuantumв майбутньому.
var isMac = navigator.platform.toUpperCase().indexOf('MAC')>=0;
Включити iOS, які також використовують "лівий бік"
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>
Оскільки більшість ОС використовує кнопку закриття праворуч, ви можете просто перемістити кнопку закриття вліво, коли користувач перебуває на ОС MacLike, інакше це не проблема, якщо поставити її на найбільш поширену сторону, праворуч.
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/