Mobile Safari Web App - щелчки и жесты довольно не отвечают - PullRequest
1 голос
/ 07 марта 2012

Я разработал веб-приложение HTML5 специально для устройств iPad (мобильный Safari). Мне кажется, что кнопки HTML и события нажатия в приложении несколько не отвечают по сравнению с кнопками и жестами в нативных приложениях для iOS. Кто-нибудь еще заметил это явление? У кого-нибудь есть мудрые слова о том, почему это происходит, и как такие кнопки можно сделать более отзывчивыми? Спасибо.

Ответы [ 2 ]

3 голосов
/ 09 марта 2012

Включение активных псевдо-стилей CSS в Mobile Safari делает интерактивные элементы более отзывчивыми.И у Google есть документ: «Создание быстрых кнопок для мобильных веб-приложений» В нем говорится «События Touchend запускаются без задержки, поэтому это значительно быстрее, чем события щелчка, однако есть несколько проблем, на которые следует обратить внимание:»Но я не заметил никакой разницы в скорости между событиями нажатия или касания в IOS.

Кроме того, производительность зависит от устройства, версий IOS и типа представления вашего веб-приложения (в Safari, как домашний веб-экран).-app, или в UIWebView), и это также влияет на отзывчивость.Смотрите таблицы производительности на http://thetechjournal.com/electronics/iphone/report-ios-5-browser-performance-test.xhtml

0 голосов
/ 17 августа 2015

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

Я нашел решение моей проблемы здесь ...

http://developer.telerik.com/featured/300-ms-click-delay-ios-8

Если эта ссылка когда-либо испортилась, суть в том, что мобильные браузеры целенаправленно откладывают события нажатия на 300 мс, чтобы они могли определить, действительно ли жест был двойным касаниемчтобы увеличить масштаб по сравнению с обычным нажатием, чтобы щелкнуть.

Существуют различные встроенные решения проблемы для Chrome / Firefox / IE, но для Safari действительно нет встроенного решения;вместо этого вы можете использовать библиотеку javascript «быстрый щелчок», которая позволяет избежать задержки в 300 мс путем прослушивания событий касания вместо события click.Я понимаю, что в принятом ответе кратко упоминаются события touchend, но на самом деле он не дал объяснения того, зачем это нужно.

Итак, у вас это есть - если у вас возникла похожая проблема, попробуйте поискатьдля библиотеки «быстрого клика» или следуйте рекомендациям в этом блоге, на который я ссылался.Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...