Определение мобильной платформы на стороне клиента javaScript + jQuery

Дата публикации: 30 Ноя 2016г.

Задача:

Нужно определить, что пользователь зашел на сайт с мобильного гаджета, с помощью jQuery

Нашел на просторах интернета следующие решения:

  1. Первое решение на чистом javascript определяем платформу:

    if( /Android|AppleWebKit|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
    // some code...
    }
  2. Второе решение непосредственно с jQuery Внимание в jQuery v1.9.1 $.browser удален

    $.browser.device = (/android|applewebkit|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(navigator.userAgent.toLowerCase()));
  3. Третье решение которое взято от туда немного извращенное

    Сайт должен быть адаптивным.
    CSS:

    /* Smartphones ----------- */
    @media only screen and (max-width: 760px) {
    	#some-element { display: none; }
    }
    

    #some-element должен присутствовать в разметке страницы

    Теперь jQuery вычисляем если этот блок display: none, то считаем что пользователь зашел с мобильного устройства, хотя тут основываемся на ширине дисплея девайса
    display: none:

    $( document ).ready(function() {
    var is_mobile = false;
    if( $('#some-element').css('display')=='none' {
    is_mobile = true;
    // some code...
    }
    });
  4. Четвертое решение тоже основывается на разрешении гаджета, оно попроще чем третье

    $( document ).ready(function() {
    if( screen.width <= 760px ) { // some code... };
    });