Javascript завершил событие, когда воспроизведение видео заканчивается на Android
Я пытался создать веб-страницу, которая будет перенаправлять пользователя после просмотра видео (или если он прервал воспроизведение). У меня это работает на iphone, но я не могу понять, как это работает на Android.
На Iphone я нашел два способа сделать это. использование тега для встраивания плагинов quicktime, а затем добавление прослушивателя событий с javascript для прослушивания события 'qt_ended'. Это, очевидно, не работает на Android, потому что нет плагин QuickTime.
Второе, что я попробовал, - это использование html5 -тега и прослушивание события "закончили", опять же, это работало на iphone, но, к моему удивлению, не на Android. В этом случае я получил видео, воспроизводимое на телефоне Android, но после окончания видео переадресации не произошло. Поэтому я предполагаю, что браузер Android не полностью поддерживает видео-тег и не запускает событие.
Так что в настоящее время я не знаю, как поступить. Я думаю, я мог бы сделать что-то похожее на решение для быстрого встраивания, но с помощью плагина, доступного на Android. Но я не могу найти какую-либо информацию о том, какие плагины доступны на андроиде и поддерживают ли они какое-то "завершенное" событие.
3 ответа
Это поддерживается в Android 2.2, но не в 2.1. Android 1.6 даже не поддерживает тег Video, что само собой разумеется.
Я потратил некоторое время на поиски обходных путей и ничего не нашел.
В ходе тестирования Android я обнаружил, что это поведение зависит от видеофайлов. С некоторым файлом это не работает. С перекодированным файлом все работает.
У меня та же проблема с завершенным событием (Android 2.1). Я нашел это, но пока не повезло. https://github.com/bcrescimanno/droidfix
В итоге я обнаружил для Android 2.1 или ниже и показал кнопку, которую пользователь мог активировать, которая затем активировала завершенное событие.
Я использовал PHP для обнаружения, но вы можете легко преобразовать его в JavaScript.
if(strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false){
$androidVersion = intval(substr($_SERVER['HTTP_USER_AGENT'], strpos($_SERVER['HTTP_USER_AGENT'], 'Android')+8, 3));
if($androidVersion < 2.2) {
echo 'android 2.1 or less';
}
}