У меня есть действительно странная ошибка, которую я обнаружил при тестировании своего нового веб-приложения на Samsung Galaxy S2 под управлением Android 4.03 ICS.
Происходит следующее: когда вы загружаете форму по умолчанию веб-браузере, а затем прокрутите страницу вниз, кажется, что хитбокс / сенсорная область остается там, где она была на экране при первой загрузке страницы, даже если сам элемент формы прокрутил экран вверх.
Насколько я могу судить по тем немногим тестовым устройствам, которые у меня есть, я думаю, что это происходит только на Samsung Galaxy S2, поскольку я пробовал это в симуляторе Android с той же версией Android и не смог воспроизвести проблему. Я знаю, что проблема возникает у очень конкретной группы пользователей, однако в последний раз я проверял, что Galaxy s2 был самым популярным телефоном Android в моей стране (Австралия), поэтому было бы неплохо найти решение.
Я создал очень простую страницу, чтобы продемонстрировать это, по адресу http://users.tpg.com.au/geoffica/test.html
Вы можете воспроизвести проблему, выполнив следующие действия:
- Загрузите страницу на Galaxy S2.
- Прокрутите браузер так, чтобы страница полностью заполнила экран, а адресная строка находилась только над верхней частью экрана.
- Там, где находится поле выбора, поместите палец в сторону экрана в качестве маркера того, где находился список выбора.
- Прокрутите страницу вниз на любое расстояние, (при этом все еще сохраняя список выбора на экране), затем коснитесь пробела там, где раньше был список выбора, и на экране должны появиться параметры. Чтобы получить это, может потребоваться несколько попыток, но это произойдет.
Я пробовал много вещей, но единственный обходной путь, который я нашел до сих пор, - это использовать событие touchstart для запуска моей кнопки отправки вместо события щелчка. Похоже, что это происходит до события щелчка списков выбора и предотвращает его попадание в первую очередь, но это далеко от идеала и не мешает спискам выбора воровать клики у других элементов на странице.
Я также подумал о том, чтобы развернуть свой собственный плагин jquery, чтобы, возможно, разместить списки выбора за кадром, а затем запускать их события щелчка, касаясь ссылки или чего-то еще. Если это мобильное устройство, параметры появятся на экране независимо от положения списка выбора. Однако это было бы довольно обременительно, и мне нужно было бы учитывать влияние, которое это окажет на пользователей, переходящих, например, с ПК или iPad, который вместо этого отображает параметры в раскрывающемся списке. Для меня это звучит довольно проблематично. Может даже потребоваться определенный анализ браузера/устройства Galaxy s2.
Есть ли у кого-нибудь реальный обходной путь, кроме простого отказа от использования списков выбора?
Подробнее здесь: https://stackoverflow.com/questions/115 ... t-list-hit
Мобильная версия