Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesan dengan Amanah jika Peranti Menjalankan iOS?

Bagaimanakah Saya Boleh Mengesan dengan Amanah jika Peranti Menjalankan iOS?

Barbara Streisand
Barbara Streisandasal
2024-12-21 12:37:09907semak imbas

How Can I Reliably Detect if a Device is Running iOS?

Bolehkah saya Mengesan Sama ada Peranti Berjalan pada iOS?

Pengenalan

Ciri sementara pengesanan biasanya lebih diutamakan berbanding pengesanan peranti, mungkin terdapat senario di mana ia menjadi perlu untuk menentukan sama ada peranti sedang berjalan pada iOS.

Kaedah Pengesanan

Menghidu Ejen Pengguna (Tidak Disyorkan):

Amaran: Ejen pengguna menghidu boleh menjadi tidak boleh dipercayai dan terdedah kepada manipulasi. Walau bagaimanapun, untuk tujuan warisan, anda boleh menggunakan kod berikut untuk menyemak iOS dalam rentetan ejen pengguna:

var iOS = !window.MSStream && /iPad|iPhone|iPod/.test(navigator.userAgent);

Pengesanan Platform:

Kaedah yang lebih mantap melibatkan pengesahan platform peranti menggunakan navigator.platform:

function iOS() {
  return [
    'iPad Simulator',
    'iPhone Simulator',
    'iPod Simulator',
    'iPad',
    'iPhone',
    'iPod'
  ].includes(navigator.platform)
  || (navigator.userAgent.includes("Mac") && "ontouchend" in document);
}

Pendekatan ini juga mengambil kira peranti iPad pada iOS 13, di mana rentetan ejen pengguna adalah sama dengan MacOS.

Menyimpulkan Versi iOS:

Walaupun rentetan ejen pengguna boleh digunakan untuk membuat kesimpulan versi iOS, perlu diperhatikan bahawa pendekatan ini tidak boleh dipercayai kerana kemungkinan penamatan masa hadapan. Sebagai alternatif, anda boleh menggunakan semakan sejarah terhadap API yang diperkenalkan iOS untuk membuat kesimpulan versi OS. Walau bagaimanapun, pendekatan ini juga mempunyai hadnya dari segi kebolehpercayaan.

function iOSversion() {

  if (iOS()) {
    if (window.indexedDB) { return 'iOS 8 and up'; }
    if (window.SpeechSynthesisUtterance) { return 'iOS 7'; }
    if (window.webkitAudioContext) { return 'iOS 6'; }
    if (window.matchMedia) { return 'iOS 5'; }
    if (window.history && 'pushState' in window.history) { return 'iOS 4'; }
    return 'iOS 3 or earlier';
  }

  return 'Not an iOS device';
}

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesan dengan Amanah jika Peranti Menjalankan iOS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn