#javascript #video #dom-events #html5-video
Вопрос:
У меня проблема с событиями видеоэлемента. Я хочу запускать событие аналитики только при взаимодействии с кнопкой воспроизведения или паузы. События play
, pause
, и playing
работают должным образом до тех пор, пока не будет использована функция поиска. Когда видео воспроизводится и по нему щелкают (перемещают в другую точку), play
события , playing
, и pause
запускаются, потому что видео приостанавливается для буферизации и начинает воспроизведение видео снова. Этот порядок не всегда одинаков. Когда вы останавливаетесь, вы не получаете ни одного из этих событий.
При отладке playing
pause
событий и. Я видел следующий порядок:
- Заказ 1:
Pause
,Seeking
,Seeked
,Playing
- Порядок 2:
Pause
,Playing
,Seeking
,Seeked
,Playing
Эта ссылка дает вам хорошее представление о вышесказанном. Я также настроил свою собственную версию, чтобы вы могли просматривать журналы консоли.
Я хотел бы изолировать события воспроизведения/паузы от событий, запущенных с помощью поиска/поиска. К сожалению, я не смог придумать решение.
Я попытался установить флаг, который сбрасывается по тайм-ауту, и установить/проверить последнее состояние для каждого события, например lastEvent = 'seeking'
. Ни один из них не сработал на 100% из-за несогласованного приказа о пожаре. Если вы перетащите панель поиска, она не будет запускать play
события, playing
, или paused
, которые добавляют другой сценарий.