Jadi saya mencoba untuk memindahkan tombol "tutup" ke sisi kiri saat pengguna menggunakan Mac dan sisi kanan saat pengguna menggunakan PC. Sekarang saya melakukannya dengan memeriksa agen pengguna, tetapi itu dapat dengan mudah dipalsukan untuk deteksi OS yang andal. Adakah cara yang pasti untuk mendeteksi apakah OS yang menjalankan browser adalah Mac OS X atau Windows? Jika tidak, apa yang lebih baik daripada mengendus agen pengguna?
javascript
jquery
alt
sumber
sumber
Jawaban:
The window.navigator.platform properti tidak palsu ketika string useragent berubah. Saya menguji di Mac saya jika saya mengubah userAgent ke iPhone atau Chrome Windows, navigator.platform tetap MacIntel.
Properti ini juga hanya-baca
Saya bisa membuat tabel berikut
Mac modern kembali
navigator.platform == "MacIntel"
tetapi untuk memberikan beberapa "bukti masa depan" jangan gunakan pencocokan persis, mudah-mudahan mereka akan berubah menjadi sepertiMacARM
atauMacQuantum
di masa mendatang.Untuk menyertakan iOS yang juga menggunakan "sisi kiri"
Tampilkan cuplikan kode
Karena sebagian besar OS menggunakan tombol tutup di sebelah kanan, Anda dapat memindahkan tombol tutup ke kiri saat pengguna menggunakan MacLike OS, jika tidak, tidak masalah jika Anda meletakkannya di sisi yang paling umum, kanan.
http://www.nczonline.net/blog/2007/12/17/don-t-forget-navigator-platform/
sumber
str.match(regexp) ? true : false
denganregexp.test(string)
. TheRegExp.prototype.test()
Metode native mengembalikan boolean. Jadi, kode pilihan saya adalahconst platformIsMacLike = /(Mac|iPhone|iPod|iPad)/i.test(navigator.platform);
.Sesederhana itu:
Anda bisa melakukan hal-hal lucu seperti:
sumber
Platform.js
: github.com/bestiejs/platform.jsisPC
seharusnya tidak sama dengan!isMacintosh();
. Bagaimana jika pengguna menggunakan linux atau platform lain yang berbeda? Ini akan mendeteksi bahwa mereka tidak ada di mac dan berpikir bahwa mereka ada di PC.isPC
(dan bukanisWindows
atauisLinux
) karena Linux berjalan di PC tetapi macOS hanya berjalan di Mac.Apa ini yang kamu cari? Jika tidak, beri tahu saya dan saya akan menghapus postingan ini.
Coba plugin jQuery ini: http://archive.plugins.jquery.com/project/client-detect
Demo: http://www.stoimen.com/jquery.client.plugin/
Ini didasarkan pada quirksmode BrowserDetect a wrap untuk plugin deteksi jQuery browser / os.
Untuk pembaca yang tajam:
http://www.stoimen.com/blog/2009/07/16/jquery-browser-and-os-detection-plugin/
http://www.quirksmode.org/js/support.html
Dan lebih banyak kode di sekitar plugin berada di sini: http://www.stoimen.com/jquery.client.plugin/jquery.client.js
sumber
Beri tahu saya jika ini berhasil. Cara untuk mendeteksi perangkat Apple (komputer Mac, iPhone, dll.) Dengan bantuan dari StackOverflow.com :
Apa daftar nilai yang mungkin untuk navigator.platform saat ini?
sumber