Поддерживает ли html5 touch на мобильных телефонах?
Мне было интересно, поддерживает ли html5 сенсорную функциональность на мобильном устройстве? Поэтому нам не нужно создавать собственное приложение для iOS/Android / WP7, но можно создать страницу html5, которая загружается в мобильном браузере.
редактировать
Я имею в виду поддержку JavaScript для touch native в браузере, чтобы вы могли делать свою вещь с помощью touch в html5.
3 ответов
зависит от типа события касания. Для вашего стандартного браузера события щелчка / мыши эмулируются браузером. Как упоминалось Halst, просто сделайте ваши кликабельные элементы достаточно большими, чтобы работать в мобильной среде.
Если вы хотите использовать мультитач/жесты, это становится немного более интересным.
Webkit предоставляет touchstart, touchmove, touchend, touchcancel
. Для событий с одним касанием поддержка должна быть одинаковой как в iOS Safari, так и в Android Webkit. Вы можете свернуть свой собственный или использовать библиотеку, как jqTouch.
вы можете прочитать больше о том, как iOS Safari обрабатывает сенсорные события. События для Android, похоже, не так хорошо документированы, но вы можете прочитать больше на поддержка касания quirksmode.
несколько.
можно написать веб-страницу, которая выглядит почти как родное приложение для iPad (включая мультитач), но мне пришлось отказаться от использования событий "высокого уровня" и вместо этого пришлось обрабатывать touches
массив явно, чтобы получить разумный зум/Пан. Результаты ИМО довольно хорошие (люди, которых я показал, что редактор векторной графики игрушка думала, что это родное приложение).
для Android, однако, все немного сложнее, потому что на моем Nexus one, по-видимому, есть нет способа получить что-либо близко к полноэкранному режиму (а для телефона потеря адресной строки означает потерю много места), а также мультитач отключен в браузере по умолчанию: - (
обе проблемы (полноэкранный и мультитач), однако, решаются, например, в Opera, и это, на мой взгляд, грустно, потому что (может быть) это означает, что они не хотят хороших веб-приложений на телефоне...
таким образом, технически можно написать одну программу html5/js, которая работает как на рабочем столе, так и на телефоне, но это, конечно, не означает, что лучший пользовательский интерфейс для настольного приложения также является лучшим для телефона.