Прослушиватель событий добавляется после начала воспроизведения моего видео.То есть
document.getElementById("myVideo").addEventListener("timeUpdate", myFunction);
, а затем, непосредственно перед тем, как заканчивается видео, я хочу, чтобы что-то произошло (возможно, затухание) вместе с последними несколькими секундами видео (или, для простоты, я просто собираюсьвместо этого напишите что-то вроде alert("goodbye");
).
, и когда я использую этот фрагмент кода
var myVideo = document.getElementById ("myVideo");
function myFunction(){
if(myVideo.currentTime >= (myVideo.duration-3) )
{
alert("this goodbye message is supposed to be displayed only once and exactly three seconds before the video ends");
myVideo.removeEventListener("timeupdate", myFunction);
}
}
, он работает в Chrome, но работает нестабильно.Иногда это работает нормально, но в других случаях предупреждение продолжает появляться несколько раз, прежде чем прослушиватель событий фактически удаляется (что в моем случае плохо).В Firefox это еще хуже, так как срабатывает много разЯ знаю, что разные браузеры запускают событие timeupdate
с очень разными интервалами.
Так что вы думаете?Должен ли я отказаться от пары addEventListener()
removeEventListener()
и использовать setInterval()
clearInterval()
, чтобы проверить, где находится точка воспроизведения, и делать вещи, когда придет время.Таким образом, вместо временных интервалов, зависящих от браузера, я мог установить свой собственный временной интервал для согласованности.Но кто-нибудь знает, есть ли надежный способ сделать это с timeUpdate
?