Ответ 1
Когда вы говорите: "Я не могу перемещаться по видео во второй раз, когда открываю свою страницу"? Вы имеете в виду, что вы вообще не можете воспроизводить видео или что вы не можете перемотки вперед и назад в воспроизводящем видео?
То, что вы получаете ошибку Type Error: Floating-point value is not finite
, означает, что определенный параметр, который вы поставляете для video.js, является неправильным типом. То есть вы probaby поставляете video.js со строкой, когда она хочет целое число (или что-то подобное).
Поскольку он работает при первом загрузке страницы, пытаетесь ли вы возобновить воспроизведение, когда вы остановились, когда вы перешли от страницы?
Если в этом случае вы, вероятно, сохраняете параметр currentTime
в значении cookie
или localStorage
в виде строки (с использованием куки файлов jQuery, например, они обычно получают автоматическое строение) и забывают переключить его обратно на int когда вам понадобится video.js, чтобы прочитать его вам. Поскольку то, что я замечаю о вашем скриншоте, кажется, что video.js не знает длительности вашего видео (то есть время поиска говорит 0:31/0:00)
Вот что вы должны сделать:
Очистите кеш, чтобы получить рабочую нагрузку в первый раз, а затем:
Перед началом воспроизведения, после окончания воспроизведения и во время воспроизведения вы должны зарегистрировать текущую подпись времени воспроизведения, то есть: console.log( videojs("id-of-your-video").currentTime() )
Добавление сигнатуры времени console.logs()
к этим обратным вызовам событий video.js должно помочь вам:
- durationchange (активируется при изменении общей продолжительности вашего видео)
- duration (расскажет вам о продолжительности вашего видео. Попробуйте выполнить регистрацию этого файла во время работы и снова после его прекращения работы и посмотреть, что изменилось в значении)
- Если у вас по-прежнему возникают проблемы, попробуйте записать значения, используя обратный вызов video js timeupdate. Это событие вызывается, когда текущая позиция воспроизведения изменилась (может быть несколько раз в секунду). Если все остальное не удается, этот обратный вызов может дать вам некоторое представление о точном моменте получения недопустимого значения типа, но это не поможет вам, если возникли проблемы с попыткой возобновить воспроизведение из значения
.currentTime()
, считанного с неправильный тип, хранящийся в пользовательскомcookie
/sessionStorage
/localStorage
и т.д.