Ich baue ein jQuery-Plugin für die Verwaltung von HTML5-Videos. Ich versuche das canplay zu erfassen und Events zu canceln. In Chrome wird das Ereignis ohne Probleme ausgelöst. In Firefox wird es manchmal ausgelöst, manchmal nicht.Die Ereignisse canplay/caneplaythrough für ein HTML5-Video werden in Firefox nicht aufgerufen. Warum?
Ich vereinfacht meinen Code ein wenig hier:
$('#my_video').on('canplay canplaythrough', function(){
console.log('canplay event fired');
});
ich auch mit dem nativen Javascript .addEventListener versucht() und es funktioniert nicht.
Irgendeine Idee, warum das Ereignis nicht auf Firefox aufgerufen wird und wie man das repariert?
HINWEIS: Bitte sagen Sie mir nicht, eines der bereits verfügbaren Plugins wie jplayer und video-js zu verwenden, ich weiß, dass sie existieren und gut funktionieren, aber ich muss eine Inhouse-Lösung aufbauen.
Beste Antwort! Prüfe den Video-Ready-Status und füge den Ereignis-Listener hinzu, wenn readyState isn ' t '4' oder höher – peirix
Erstaunliche Antwort: Das ist die eine Danke !!!! @Gabriel sollte man dies als die Antwort auf jeden Fall markieren – 30secondstosam
Scripts nicht in den Kopf zu legen, ist schlecht für: Skripte schreiben und zeigen ein Mangel an Standards nicht zu verstehen: Verwenden Sie das "Defer" -Attribut, behalten Sie Skripte im Kopf und haben Sie immer noch die gleiche Leistung. – John