Я занимаюсь разработкой веб-приложения, которое будет развернуто на различных устройствах, от настольных компьютеров до мобильных телефонов Android и мобильных телефонов Blackberry.Для поддержки таких разных устройств существует два разных интерфейса: сенсорный и не сенсорный.
Проблема в том, что устройства Blackberry без сенсорной поддержки, такие как Blackberry 9300, некорректно поддерживают сенсорные события.А именно,
'ontouchstart' in window;
возвращает true
.
До сих пор я просто полагался на перехват браузера, как бы плохо он ни был:
if (window.navigator.userAgent.match(/BlackBerry/i)) {
doStuff();
}
Но теперь ядолжны поддерживать Blackberry Torch, который является touch, поэтому последний больше не будет работать.Конечно, я мог бы попробовать более точное регулярное выражение для просмотра браузера, но я чувствую, что иду по пути гибели.
Есть ли более надежный способ обнаружения поддержки сенсорных событий, который будет работатьна устройствах Blackberry тоже?