Проверяем 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
Василий Наумкин
13.08.2022 11:41
неужели, все глобальное, так просто можно взять и сделать Да, именно так. Мелкие затыки, конечно ж...
bezumkin
Василий Наумкин
13.08.2022 08:18
Killed говорит, что сервер прибивает задачу, скорее всего у провайдера есть какие-то лимиты по нагру...
bezumkin
Василий Наумкин
11.08.2022 15:46
Класс!! Рад, что тебе нравится! нужно добавить @click=&quot;showCart = true&quot; в: Спасибо, попра...
bezumkin
Василий Наумкин
09.08.2022 11:27
На здоровье!
inetlover
Александр Наумов
30.07.2022 19:58
Василий, спасибо большое! Первый вариант помог, не было вот этой настройки: php_value[sys_temp_dir].
bezumkin
Василий Наумкин
12.07.2022 20:40
Всё как обычно, в самом начале файла конфига import axios from &#x27;axios&#x27;
bezumkin
Василий Наумкин
06.07.2022 14:06
Базовый Vue, базовый ES 6: импорт-экспорт модулей, вот это всё. Если что-то будет непонятно - просто...
bezumkin
Василий Наумкин
06.07.2022 11:19
Спасибо, что читаешь!
bezumkin
Василий Наумкин
05.07.2022 11:40
На здоровье!
inetlover
Александр Наумов
03.07.2022 23:36
Василий, спасибо! Все понятно!