Jquery - лучший способ обнаружить мобильный браузер? (нажатие мыши/прикосновение)

У меня есть скроллер Jquery.

Для настольных браузеров я использую эту конструкцию:

holder.bind('mousedown.rotate', function(e){
    //some actions  
    doc.bind('mousemove.dragrotate', function(e){
        //some actions          
    });
    doc.bind('mouseup.dragrotate', function(){
        //some actions  
        doc.unbind('.dragrotate');
    });
});

для мобильных браузеров это работает следующим образом:

holder.bind('touchmove', function(jQueryEvent) {
//some actions
});

как лучше всего определить мобильных браузеров? есть ли способ использовать одну и ту же функцию для всех платформ?

Спасибо


person Sobakinet    schedule 05.07.2012    source источник
comment
Возможный дубликат stackoverflow.com/questions/3974827 /   -  person Vladimir Kadalashvili    schedule 05.07.2012


Ответы (2)


Вы можете использовать navigator.userAgent, чтобы проверить, какой браузер использует пользователь... следующий код будет хорошей отправной точкой.

if (navigator.userAgent.match(/Android/i)
    || navigator.userAgent.match(/iPhone/i)
    || navigator.userAgent.match(/iPad/i)
    || navigator.userAgent.match(/iPod/i)
    || navigator.userAgent.match(/BlackBerry/i)
    || navigator.userAgent.match(/webOS/i)) {
    // Mobile browser specific code here
}

Обнаружение мобильных браузеров содержит файл JS, который вы можете использовать, если хотите получить более подробную информацию.

person sachleen    schedule 05.07.2012

var is_touch_device = 'ontouchstart' in document.documentElement;

Обнаружение устройств с сенсорным экраном с помощью Javascript

person Community    schedule 05.07.2012