Apa itu string agen pengguna iOS 5.0?

91

Apa itu string agen pengguna iOS 5.0 ?

Berikut adalah agen pengguna iOS 4.0 : Apa agen pengguna iPhone 4 itu?

chown
sumber
2
Pada jawaban SO ini , Anda dapat menemukan ekspresi reguler umum untuk memeriksa apakah string agen pengguna yang diberikan adalah iOS 5.0 .
Stephan

Jawaban:

151

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
chown
sumber
3
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
Ben
11

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.

Nate
sumber
1
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 .
Andrew Steitz
1
Saya menyusun daftar dengan sejumlah besar agen pengguna. Berharap ini akan membantu: codereye.com/2014/12/list-of-mobile-user-agents.html
Basan
Terima kasih @Nate, akan melakukannya.
bashan
10

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.

Andrew Steitz
sumber
Tautan string agen pengguna rusak. :( Saya pikir itu harus menunjuk ke sini sekarang: useragentstring.com/pages/useragentstring.php?name=Safari
Lucas Morgan
1
@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.

Geek Devigner
sumber
1
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.

Info selengkapnya di sini .

fulvio
sumber
1
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);
Mauvis Ledford