window.navigator.platformคุณสมบัติจะไม่หัวหมุนเมื่อสตริง userAgent ที่มีการเปลี่ยนแปลง ฉันทดสอบบน Mac ของฉันหากฉันเปลี่ยน userAgent เป็น iPhone หรือ Chrome Windows navigator.platformยังคงเป็น MacIntel

คุณสมบัติเป็นแบบอ่านอย่างเดียว

ฉันสามารถสร้างตารางต่อไปนี้
คอมพิวเตอร์ Mac
Mac68K
ระบบ Macintosh 68K
MacPPC
ระบบ Macintosh PowerPC
MacIntel
ระบบ Macintosh Intel
อุปกรณ์ iOS
iPhone
iPhone
iPod
ไอพอดทัช.
iPad
iPad
Mac ยุคใหม่กลับมา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 OS ไม่เช่นนั้นจะไม่ใช่ปัญหาหากคุณวางไว้ในด้านที่พบบ่อยที่สุดทางด้านขวา
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-forgettable-navigator-platform/