Обнаружение телефона / планшета / веб-клиента с помощью JavaScript
Я пытаюсь определить, находится ли конечный пользователь на телефоне, планшете или компьютере.
Я уже некоторое время гуглю, видимо нет простого решения.
Ну, я думаю, я не должен использовать разрешение, так как в настоящее время некоторые планшеты имеют потрясающие разрешения.
Я не должен полагаться на ориентацию, потому что ноутбуки Windows8 могут просто вращаться, как планшеты. (а адаптивный дизайн слишком сложен для моего текущего проекта)
Я пытался использовать UserAgent (хотя у него тоже есть свои недостатки), но он не может заставить его работать, ниже приведено соединение разных версий в Интернете, которые я использую, чтобы отличить телефон / планшет от ПК, они просто не работают, и у меня есть понятия не имею почему
var agents = ['android', 'webos', 'iphone', 'ipad', 'blackberry','iemobile','phone','mobile'];
for(i in agents) {
if(navigator.userAgent.toLowerCase().match('/'+agents[i]+'/i')) {
return true;
}
}
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent) ) {
return true;
}
if( navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)
|| navigator.userAgent.match(/bada/i)
|| navigator.userAgent.match(/Bada/i)
){
return true;
}