Функция для определения мобильного устройства

Javascript

24-02-2022

Включает в себя решение проблемы с определением Iphone 13
Простой способ:
var iOS = ['iPad', 'iPhone', 'iPod', 'Android', 'iPad Simulator','iPhone Simulator','iPod Simulator'].indexOf(navigator.platform) >= 0;
Не работает для 13 айфонов.

Потому используем следующую функцию:
function iOS() {
  return [
    'iPad Simulator',
    'iPhone Simulator',
    'iPod Simulator',
    'iPad',
    'iPhone',
    'iPod'
  ].includes(navigator.platform)
  // Определение iPad on iOS 13 
  || (navigator.userAgent.includes("Mac") && "ontouchend" in document)
  || (navigator.userAgent.includes("iPhone"))
  || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)
}
Вернет true/false, потому далее проверяем так:
if(iOS()) {
/*Для IOS*/
} 
else {
/* Для всего остального */
}
Просмотров: 328