Quando dici "Non riesco a navigare nel video la seconda volta che apro la mia pagina"? Intendi dire che non sei in grado di riprodurre il video o che non sei in grado di andare avanti e indietro velocemente all'interno del video?
L'errore Type Error: Floating-point value is not finite
indica che un determinato parametro fornito a video.js è del tipo errato. Cioè tu probaby fornisci video.js con una stringa quando vuole un intero (o qualcosa di simile).
Poiché funziona la prima volta che si carica la pagina, si sta tentando di riprendere la riproduzione dal punto in cui si era interrotta quando si è allontanati dalla pagina?
Se questo è il caso si sono probabilmente la memorizzazione dei parametri currentTime
un valore cookie
o localStorage
come una stringa (tramite cookie jQuery per esempio questi di solito vengono automaticalyl stringata) e dimenticando per passare di nuovo a un int quando avete bisogno di video. per poterlo rileggere. Perché quello che ho notato sulla tua screenshot sembra Video.js non conosce la durata del video (cioè il tempo di ricerca dice 0:31/0:00)
Ecco cosa si dovrebbe fare:
Cancella si cache per ottenere un giocatore prima volta carico di lavoro quindi:
prima di avviare la riproduzione, dopo che la riproduzione è terminata e durante la riproduzione è necessario accedere alla firma corrente riproduzione in tempo, vale a dire: console.log(videojs("id-of-your-video").currentTime())
aggiunta di una firma tempo console.logs()
a questi callback dell'evento video.js dovrebbe essere d'aiuto:
- durationchange (licenziato se la durata totale delle modifiche di video)
- duration (ti dice la durata del video. Prova a registrare questo mentre funziona e di nuovo dopo che smette di funzionare e vedi cosa è cambiato nel valore)
- Se hai ancora problemi prova a registrare i valori usando il video js timeupdate callback. Questo evento viene chiamato quando la posizione di riproduzione corrente è cambiata (può essere più volte al secondo). Se tutto il resto fallisce questa richiamata potrebbe darti qualche informazione sul momento esatto in cui stai ricevendo il valore di tipo non valido, ma non ti sarà di aiuto se hai problemi a cercare di riprendere la riproduzione da un valore
.currentTime()
da un valore errato digitare memorizzato nell'utente cookie
/sessionStorage
/localStorage
ecc.
Hi Shiro, È un po 'maldestro per capire il tuo problema! per favore, spiegami! Di cosa hai bisogno e qual è il problema esatto? – pixelbyaj
[Qui] (https://github.com/videojs/video.js/blob/master/src/js/media/html5.js#L165) è il problema. Probabilmente stai fornendo l'API video.js con un parametro errato (che non posso dire con certezza, perché non hai fornito alcun codice sorgente). Controlla la firma del tuo metodo e riprova. – Brian
Sospetto che Brian sia corretto, ma se hai ancora problemi dopo si prega di postare un esempio dal vivo su jsfiddle.net o jsbin.com, e darò un'occhiata. – iX3