логин: 
<< предыдущая заметкаследующая заметка >>
26 мая 2011
Ipad

А скажите мне, люди добрые: передает ли браузер Айпада коды перелистывания вправо влево рукой в джаваскрипт? Иными словами — есть ли способы программирования веб-страниц под Айпад с учетом именно его навигационной специфики?

Извините за неровный почерк, пишу с него :)

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
Страницы, которые привлекли мое внимание за последние дни, рекомендую:
2017-11-22 В июне 1982
архив ссылок
Оставить комментарий
Mac Safari
 Москва
0
0
lleo.me/[email protected] iPad
Круто! Спасибо!!! Но это все равно пока не объясняет, как мне листать между страницами блога пальцем... :)
Mac Safari
0
0
bukov_net (tonsky)
Насколько я знаю, мобильный сафари предоставляет только низкоуровневые события — touchstart, touchend и т.д. Поддерживает многопальцевость. Пример кода можно посмотреть здесь: http://www.webdeveloper.com/forum/showthread.php?t=215272

Чтобы делать поддержку именно жестов, нужно их самому на основе этих событий запрограммировать и распознавать.

Наиболее известный пример, где люди этим заморочились — это http://help.apple.com/ipad/4/interface/ В обычном браузере он куда-то редиректит, но если зайти айпадом, то там будет привычный iOS интерфейс, цимус в том, что это честная веб-страница. В исходниках там все эти жесты, прокрутки с инерцией и т.п. распознаются и реализуются ч/з джаваскрипт. Но публично они такой фреймворк не публиковали, только для себя вот сделали. Но подсмотреть, опять же, никто не мешает.

Поздравляю с покупкой!
Mac Safari
1
0
bukov_net (tonsky)
Зная вашу нелюбовь к фреймворкам, предлагать их не стану, но вот конкретный небольшой кусок кода, примерно что нужно реализующий:

http://padilicious.com/code/touchevents/swipesensejs.html

Если что, запрос для поиска в гугле "ipad swipe javascript
Nokia-E90 Safari
 Москва
0
0
lleo Nokia E90 (#909087)
Минуточку! Я не люблю фреймворки, но я ничего не имею против БИБЛИОТЕКИ с нужными функциями :)
Linux Firefox
 Москва
0
0
Я ее немножко подправил под свои нужды. И выписал в файл /js/ipad.js - пока пусть будет отдельным, хотя наверно я в будущем его солью с main.js
Linux Firefox
 Москва
0
0
Спасибо, Никита! Я все сделал именно по этой процедуре.
Windows Safari Chrome
2
0
Вот есть подробный пост на Хабре про использование трогательных событий (touch events) в джаваскрипте:
http://habrahabr.ru/blogs/webdev/118318/

Вкратце:
1. Добавляем обработчик на начало и конец трогательного события:
obj.addEventListener('touchstart', function(event) {...}, false);
obj.addEventListener('touchend', function(event) {...}, false);
Обработчики цепляем прямо к боди, или к корневому диву.
2. В инициирующем событии запоминаем координаты event.touches[0].pageX и event.touches[0].pageY.
3. В концевом - сравниваем начальные и конечные координаты, и если движение по горизонтали сильно больше движения по вертикали - предпринимаем нужное действие.
4. При этом если pageX и pageY сильно не меняются, но меняются screenX и screenY - значит, у нас просто прокрутка-протягивание по горизонтали.
5. Наверняка потребуется ещё некоторая хитрость для определения многопальцевой жестикуляции. Проще всего не учитывать жест, если в процессе было зарегестрировано многопальцевое касание. То есть, если в обработчике
touchmove длина event.touches стала больше одного - сбрасываем запомненные координаты начала.

Как-то так. Написал сугубо умозрительно, потестироваться сейчас под рукой ничего нет.
Windows Firefox
1
1
О, ура, у Ллео появился айпад, так что есть надежда, что движок оптимизируется под него! ;) Я пишу на нем, кстати, как правило, хоть и на внешней клаве.
Linux Safari Chrome
0
0
Jellicat (#1017014)
А кто такая(такой) Jellicat и почему движок считает что я это он?
Linux Firefox
 Москва
0
0
Спасибо!
На будущее буду иметь в виду.

всего комментариев: 13

<< предыдущая заметка следующая заметка >>