Проверяем bezumkin.ru на мобильных устройствах

Вчера с удивлением обнаружил, что скрипты Tickets не работают на мобильных устройствах Apple. Проблема обнаружилась на iPad, а потом подтвердилась и на iPhone.

Не работают независимо от браузера, что в Chrome, что в Safari нажатия на ссылки "ответить" и "изменить" просто игнорируются. А вот на Android проблем нет, всё работает как положено. Стало быть, дело в iOS.

Еще интересный момент - кнопки нажимаются нормально, проблема только у ссылок.

В итоге разгадка оказалось простой - think different. На устройствах Apple нажатия на ссылочки для javascript рассматриваются не как click, а как touch. И если задержать палец в Safari на такой ссылке, и нажать "открыть" - то она срабатывает.

Стало быть, нужно пройти по всем формам, и везде, где у ссылки есть onclick="" и добавить еще ontouchstart="":


<a href="#reply" ontouchstart="return Tickets.forms.reply([[+id]]);" onclick="return Tickets.forms.reply([[+id]]);">
    <i class="icon-pencil"></i>ответить
</a>

return нужен, чтобы не было перехода по ссылке.

Возможно, дело действительно в размере ссылки, или её внешнем виде? Не знаю, но после развешивания дополнительного события всё заработало. А вот, например, на http://habrahabr.ru точно так же нельзя ответить на комментарий с iPad.

Вот и всё, теперь комментарии у меня на сайте работают в iOS - прошу побродить по сайту и проверить. Может еще что найдём?

P.S. Еще погуглил, и нашел такое объяснение:

Do you have mobile specific meta tags at the top?(viewport/content width) I believe as of a recent iOS update (iOS 6.something), if the page has mobile meta tags, it will not recognise click events. You may want to do as TheDoc recommended and look in to touch events.

То есть, виноваты мета-теги в заголовке моих страниц, которые говорят, что сайт готов работать с мобильными устройствами. Я их добавлял для нормального отображения на телефонах, и не думал, что аукнется на планшетах.

В любом случае, сейчас работает везде.

Следующая заметка →
С наступающим, 2014 годом
Комментарии (19)
YogamanДенис Богдановский
24.12.2013 14:02

Понимаю что не очень актуально.. но на Nokia N8 (Symbian Belle) не при нажатии на кнопку "Оставить новый комментарий" выкидывает на главную.

alex.vakhitovAlex Vakhitov
24.12.2013 15:08

Круто, теперь все работает (: а поведение в сафари и хроме одинаковое изза того что на ios нельзя ставить сторонние бракзеры, все браузеры отличаются тока обвесом, а движок один и тото же

alex.vakhitovAlex Vakhitov
24.12.2013 15:11

Нашел глюк. При редактировании комментария область с текстом не подхватывается и нельзя ничего написать и выделить текст

alex.vakhitovAlex Vakhitov
24.12.2013 15:44

Даже больше, если переключить фокус с текстового поля, потом нельзя вернуться и продолжить писать

bezumkinВасилий Наумкин
24.12.2013 15:52

А у меня более-менее. Не с первого раза, но фокус работает.

Еще поразбираюсь.

Вот, коммент только что смог отредактировать :-)

Чикин Артур
24.12.2013 16:17

Я так думаю это проблема не в тикетах а в верстке сайта:)

alex.vakhitovAlex Vakhitov
24.12.2013 16:31

Видимо у меня пальцы большие и не попадаю в нужное место (:

Evgeny Epifanov
30.12.2013 00:53

С ontouchstart заметил такой косячек: если при прокрутке странице палец попадает на такую ссылку, происходит сработывание ссылки. Замечено на андройде. Т.е. если я тыкаю в "ответить" и кручу страницу вниз, то открывается окно редактирования ответа.

bezumkinВасилий Наумкин
30.12.2013 09:37

Поменял на ontouchend - должно быть получше.

Evgeny Epifanov
01.01.2014 15:57

Да, так однозначно лучше.

mvoevodskiyВоеводский Михаил
12.01.2014 01:30

На iOS 6 проблема осталась. Прилистании часто попадаю в форму комментария.

sergantСергей Шлоков
11.01.2014 19:14

Не люблю с телефона читать, но разок решил попробовать. У меня на андроид 4.1.2. пагинация работает только на главной. А в разделах "Вопросы", "Трюки" и других где есть пагинация, не работает. Пробовал в FF и Chrome. Какая-то странность.

sergantСергей Шлоков
13.01.2014 14:50

Василий, может для удобства навигации на мобильнике в меню сделать ссылку на прямой эфир? Было бы удобно. Ведь на мобильном человек больше следит за комментариями, чем доки читает. Приходится постоянно прокручивать.

bezumkinВасилий Наумкин
13.01.2014 14:51

А у меня он нигде не выводится, только в сайдбаре. Это нужно еще дополнительную страницу делать - пока некогда.

sergantСергей Шлоков
13.01.2014 16:11

Выводятся сначала посты, потом поиск, потом прямой эфир, потом твитер. И до прямого эфира каждый раз надо мотать. Было бы удобно сделать якорь, чтоб до комментов проматывало, как ссылка "вверх". Когда руки дойдут.

asxАлександр Котлов
17.01.2014 19:05

Василий, с андройд лопаты не работают кпопки пагинации в разделе с первым курсом обучения, сама пагинация через get работает, в других разделах кномки норм работают.

784b846f936a4b5753cc358b388d0698alex cernobai
17.01.2014 19:12

twitter plugin отвалился

Чикин Артур
17.01.2014 21:18

У меня вроде работает.

784b846f936a4b5753cc358b388d0698alex cernobai
17.01.2014 21:22

сейчас уже да! а так 2 дня видел только спиннер

bezumkin
Василий Наумкин
09.04.2024 01:45
Ошибка 500 Это не похоже на ошибку Nginx, это скорее всего ошибка PHP - надо смотреть его логи. Во...
futuris
Futuris
04.04.2024 05:56
Я просто немного запутался. Когда в абзаце &quot;Vesp/Core&quot; ты пишешь про &quot;новый trait Fil...
bezumkin
Василий Наумкин
20.03.2024 18:21
Volledig!
Андрей
14.03.2024 10:47
Василий! Как всегда очень круто! Моё почтение!
russelgal
russel gal
09.03.2024 17:17
А этот стоило написать хотя бы затем, чтобы получить комментарий от юзера, который ничего не писал ...
inetlover
Александр Наумов
27.01.2024 00:06
Василий, спасибо! Извини, тупанул.
bezumkin
Василий Наумкин
22.01.2024 04:43
Давай-давай!
bezumkin
Василий Наумкин
24.12.2023 11:26
Спасибо!
bezumkin
Василий Наумкин
27.11.2023 02:43
Ура!
bezumkin
Василий Наумкин
25.11.2023 08:30
Vesp тянет 2 зависимости: vesp-frontent для фронта и vesp-core для бэкенда. Их можно обновлять, но э...