На сенсорном устройстве, таком как iPhone / iPad / Android, может быть трудно нажать маленькую кнопку пальцем. Я не знаю кросс-браузерного способа обнаружения сенсорных устройств с помощью медиа-запросов CSS. Поэтому я проверяю, поддерживает ли браузер сенсорные события javascript. До сих пор другие браузеры не поддерживали их, но последняя версия Google Chrome на dev-канале включала сенсорные события (даже для не сенсорных устройств). И я подозреваю, что другие производители браузеров будут следовать, так как ноутбуки с сенсорными экранами идут . Обновление: это была ошибка в Chrome, поэтому теперь обнаружение JavaScript снова работает .
Это тест, который я использую:
function isTouchDevice() {
return "ontouchstart" in window;
}
Проблема в том, что это проверяет, только если браузер поддерживает сенсорные события, а не устройство.
Кто-нибудь знает, как правильно использовать сенсорные устройства для улучшения работы пользователей? За исключением сниффинга пользовательского агента.
У Mozilla есть медиа-запрос для сенсорных устройств. Но я не видел ничего подобного в любом другом браузере:
https://developer.mozilla.org/En/CSS/Media_queries#-moz-touch-enabled
Обновление: я хочу избегать использования отдельной страницы / сайта для мобильных / сенсорных устройств. Решение должно обнаруживать сенсорные устройства с обнаружением объектов или аналогичными из JavaScript, или включать пользовательский сенсорный CSS без использования пользовательского агента! Основная причина, по которой я спросил, состояла в том, чтобы удостовериться, что это невозможно сегодня, прежде чем я свяжусь с рабочей группой css3 . Поэтому, пожалуйста, не отвечайте, если вы не можете следовать требованиям в вопросе;)