Benar. Dari iPhone saya: Mozilla / 5.0 (iPhone; CPU iPhone OS 5_0 seperti Mac OS X) AppleWebKit / 534.46 (KHTML, seperti Gecko) Versi / 5.1 Mobile / 9A334 Safari / 7534.48.3
Saya mulai dengan situs yang dirujuk di sini tetapi tidak memiliki nomor pembuatan kit web, yang ditampilkan oleh Google Analytics. Saya menemukan daftar yang lebih lengkap di useragentstring.com/pages/Safari .
Saya menemukan daftar yang lebih lengkap di string agen pengguna . BTW, situs ini memiliki lebih dari sekedar string agen pengguna iOS. Selain itu, beranda akan "memecah" string agen pengguna dari browser Anda saat ini untuk Anda.
@LucasMorgan, terima kasih atas catatannya! Saya telah memperbaikinya dalam jawaban saya.
Andrew Steitz
2
memperbaiki evaluasi string agen saya dengan menggosok string untuk LOWERCASE "iphone os 5_0" sebagai lawan dari "iPhone OS 5_0." sekarang saya menetapkan kelas khusus iOS 5 dengan benar ke html saya, ketika scrub huruf besar gagal.
Saya pribadi akan mendeteksi lebih dari sekedar iPhone, karena dalam contoh di atas Anda tidak merender kode khusus iOS 5 ke iPad dan iPod touch. Apa yang mungkin juga ingin Anda pikirkan adalah fakta bahwa versinya akan bertambah di beberapa titik. Rekomendasi saya mungkin akan terlihat oleh sebagian besar orang - deteksi perangkat seluler apel terlebih dahulu, yaitu iPad / iPod / iPhone dan kemudian, jika demikian, parsing versi ... bukan iOS tetapi mungkin browser, yaitu dalam kasus ini Versi / 5.1 akan menjadi indikatornya. Setelah Anda mengetahui versinya, Anda akan menerapkan kode Anda pada kondisi "tidak lebih rendah dari".
hndcrftd
1
Saya menggunakan yang berikut ini untuk mendeteksi perangkat seluler, viewport, dan layar yang berbeda. Berfungsi cukup baik untuk saya, mungkin dapat membantu orang lain:
var pixelRatio = window.devicePixelRatio || 1;
var viewport = {
width: window.innerWidth,
height: window.innerHeight
};
var screen = {
width: window.screen.availWidth * pixelRatio,
height: window.screen.availHeight * pixelRatio
};
var iPhone = /iPhone/i.test(navigator.userAgent);
var iPhone4 = (iPhone && pixelRatio == 2);
var iPhone5 = /iPhone OS 5_0/i.test(navigator.userAgent);
var iPad = /iPad/i.test(navigator.userAgent);
var android = /android/i.test(navigator.userAgent);
var webos = /hpwos/i.test(navigator.userAgent);
var iOS = iPhone || iPad;
var mobile = iOS || android || webos;
window.devicePixelRatioadalah rasio antara piksel fisik dan piksel yang tidak bergantung perangkat (dip) pada perangkat.
window.devicePixelRatio= piksel fisik / penurunan.
Terima kasih atas tanggapannya, tetapi perhatikan bahwa ini bukan cara yang efisien dan beberapa versi perangkat akan hilang. Misalnya saya baru saja memeriksa agen pengguna di iPad 1 kuno saya dan dikatakan "... iPad; CPU OS 5_1_1 ...". Tak satu pun dari variabel Anda akan menangkap itu. Anda membutuhkan regex sepertivar iOS5 = /(iPhone|iPad).*OS 5_.*/i.test(navigator.userAgent);
Jawaban:
iPhone:
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
iPad:
Mozilla/5.0 (iPad; CPU OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
sumber
Situs ini sepertinya menyimpan daftar lengkap yang masih dipertahankan
iPhone, iPod Touch, dan iPad dari iOS 2.0 - 5.1.1 (hingga saat ini).
Anda harus mengumpulkan string agen-pengguna lengkap dari informasi yang tercantum di kolom halaman.
sumber
Saya menemukan daftar yang lebih lengkap di string agen pengguna . BTW, situs ini memiliki lebih dari sekedar string agen pengguna iOS. Selain itu, beranda akan "memecah" string agen pengguna dari browser Anda saat ini untuk Anda.
sumber
memperbaiki evaluasi string agen saya dengan menggosok string untuk LOWERCASE "iphone os 5_0" sebagai lawan dari "iPhone OS 5_0." sekarang saya menetapkan kelas khusus iOS 5 dengan benar ke html saya, ketika scrub huruf besar gagal.
sumber
Saya menggunakan yang berikut ini untuk mendeteksi perangkat seluler, viewport, dan layar yang berbeda. Berfungsi cukup baik untuk saya, mungkin dapat membantu orang lain:
var pixelRatio = window.devicePixelRatio || 1; var viewport = { width: window.innerWidth, height: window.innerHeight }; var screen = { width: window.screen.availWidth * pixelRatio, height: window.screen.availHeight * pixelRatio }; var iPhone = /iPhone/i.test(navigator.userAgent); var iPhone4 = (iPhone && pixelRatio == 2); var iPhone5 = /iPhone OS 5_0/i.test(navigator.userAgent); var iPad = /iPad/i.test(navigator.userAgent); var android = /android/i.test(navigator.userAgent); var webos = /hpwos/i.test(navigator.userAgent); var iOS = iPhone || iPad; var mobile = iOS || android || webos;
window.devicePixelRatio
adalah rasio antara piksel fisik dan piksel yang tidak bergantung perangkat (dip) pada perangkat.window.devicePixelRatio
= piksel fisik / penurunan.Info selengkapnya di sini .
sumber
var iOS5 = /(iPhone|iPad).*OS 5_.*/i.test(navigator.userAgent);