Проверить что страница открыта на мобильном устройстве - довольно просто:
isMobile = {
Android: function() {
return navigator.userAgent.match(/Android/i);
},
BlackBerry: function() {
return navigator.userAgent.match(/BlackBerry/i);
},
iOS: function() {
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
},
Opera: function() {
return navigator.userAgent.match(/Opera Mini/i);
},
Windows: function() {
return navigator.userAgent.match(/IEMobile/i);
},
any: function() {
return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
}
};
usage:
if (isMobile.any()) {
alert('is mobile !');
}
Проверить есть ли поддержка touch евентов тоже не сложно:
function is_touch_device() {
return !!('ontouchstart' in window);
}