Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Mengesan dengan Amanah jika Penyemak Imbas Berjalan pada Peranti iOS?

Bagaimanakah Saya Boleh Mengesan dengan Amanah jika Penyemak Imbas Berjalan pada Peranti iOS?

Linda Hamilton
Lepaskan: 2024-12-06 06:51:11
asal
225 orang telah melayarinya

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

Mengenal pasti Peranti iOS

Berbeza dengan pengesanan ciri, soalan bertujuan untuk mewujudkan kaedah untuk menentukan sama ada penyemak imbas beroperasi pada peranti iOS. Walaupun pengesanan ciri penting, keperluan untuk mengesan peranti iOS timbul daripada pengendalian video mereka yang unik, seperti yang diserlahkan dalam perbincangan Stack Overflow yang berkaitan.

Kaedah Pengesanan

Menavigasi alam pengesanan peranti , kami menghadapi dua pendekatan:

  1. Ejen Pengguna Menghidu: Kaedah ini bergantung pada pemeriksaan rentetan ejen pengguna penyemak imbas untuk mengenal pasti jenis peranti. Walau bagaimanapun, adalah penting untuk mengambil perhatian kemungkinan masalah pendekatan ini:

    • Ejen pengguna boleh ditipu oleh pengguna atau sambungan penyemak imbas.
    • iOS 13 iPad kini mempamerkan ejen pengguna yang sama dengan macOS 13 komputer.
  2. Inferens Ciri: Teknik ini memanfaatkan garis masa ketersediaan ciri yang diketahui untuk versi iOS yang berbeza. Sebagai contoh, kita tahu bahawa:

    • API Sejarah telah diperkenalkan dalam iOS 4
    • matchMedia API yang didedahkan dalam iOS 5
    • API webAudio telah diperkenalkan dalam iOS 6
    • WebSpeech API muncul dalam iOS 7

Awas: Pendekatan ini bergantung pada andaian bahawa ciri ini tidak akan ditamatkan dalam versi iOS akan datang.

Melaksanakan Pengesanan

Untuk mengesan peranti iOS, anda boleh menggunakan yang berikut kod:

function iOS() {
  return [
    'iPad Simulator',
    'iPhone Simulator',
    'iPod Simulator',
    'iPad',
    'iPhone',
    'iPod'
  ].includes(navigator.platform)
  // iPad on iOS 13 detection
  || (navigator.userAgent.includes("Mac") && "ontouchend" in document);
}
Salin selepas log masuk

Untuk mengesan versi iOS, anda boleh menggunakan kod berikut (walaupun sedar tentang hadnya):

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';
}
Salin selepas log masuk

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan