К сожалению, на данный момент единственный надежный способ отличить мобильный телефон от планшета - через строку агента пользователя.
Мне еще не удалось найти пользовательский агент, включающий размеры устройства.
Если вы попытаетесь вычислить ppi устройства, почти все они неизбежно получат 96ppi, будь то рабочий стол или телефон.
Найдите iPad / iPod / iPhone в строке агента пользователя, чтобыобнаружить любое устройство Apple.Это скажет вам, если у вас есть планшет или телефон / iPod от Apple.К счастью, i-устройств гораздо меньше, поэтому их будет легче отличить.
Чтобы определить устройство Android, выполните поиск «Android» в строке агента пользователя.Чтобы определить, является ли это планшетом или телефоном, пользовательский агент телефона (для родного браузера Android и Chrome) будет содержать «Mobile Safari», тогда как планшет будет содержать только «Safari».Google рекомендует этот метод:
. В качестве решения для мобильных сайтов наши инженеры Android рекомендуют специально определять «mobile» в строке User-Agent, а также «android».
Более полное описание можно найти здесь:
http://googlewebmastercentral.blogspot.com/2011/03/mo-better-to-also-detect-mobile-user.html
Конечно, это не идеально, но выглядит единственным надежным средством.В качестве предупреждения, просмотрев большой примерный список строк пользовательских агентов (около ста), я обнаружил одно или два старых устройства, которые не соответствовали различию «Мобильный» и «Мобильное Сафари» должным образом.