В iOS 7 Safari, как вы отличаете события popstate с помощью крайнего удара по сравнению с кнопками назад / вперед?

В iOS 7 Safari теперь есть два способа навигации назад / вперед - с помощью традиционных кнопок со стрелками назад / вперед в нижней части экрана или проведением пальцем от края экрана. Я'я использую анимацию для перехода между страницами в моем приложении ajax, но я нене нужно запускать этот переход, если пользователи перемещаются по краю, потому что это сама анимация.

Тем не менее, объекты событий popstate кажутся идентичными для обоих типов навигации - есть ли какой-либо способ провести различие между этими двумя типами навигации пользователя, чтобы мы могли реагировать соответствующим образом?

ОБНОВИТЬ: Я смог использовать (как представляется,) ошибку в iOS7 Safari для правильного определения удара по краю и нажатия кнопки назад. Ошибка заключается в том, что событие касания не запускается (до следующего события касания) при использовании прокрутки краев (но касание запуска и касание перемещаются). Итак, я установилshouldAnimate пометьте и отключите его на TouchMove - тогда, если флаг отключен, и появляется popstate, я знаю, чтоs краем

Это'Правильно в 99% случаев. Единственный случай, когда он может потерпеть неудачу, это когда пользователь частично ударит по краям, а затем отпустит и позволит текущей странице снова встать на место (в этот момент мой флаг все равно будет отключен) и затем нажимает кнопку «назад» (которая не запускает сенсорные события). Чтобы справиться с этим последним [крайним] случаем, я установил таймер на сенсорное движение, чтобы снова включить флаг через 50 мс.

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

Ответы на вопрос(1)

Ваш ответ на вопрос