Le ci-dessous est pour un événement de lecteur vidéo HTML5.
Mon partenaire et moi avons été interceptés pour une très grande partie de la journée sur cette question et j'espère que quelqu'un peut donner une idée de la question. Nous avons pu accéder à l'événement de progression avec des JS unis comme on le voit ci-dessous, mais en essayant d'y accéder avec JQuery, nous devons non définir dans la console. Toute aide / recommandations sont grandement appréciées. P>
//JS - Works like a charm document.addEventListener("DOMContentLoaded", init, false); function init() { var v = document.getElementById('test-vid'); console.log(v) v.addEventListener('progress', progress, false); } function progress(e) { console.log(e.lengthComputable + ' ' + e.total + ' ' + e.loaded); } // jQuery - NO BUENO - Undefined rendered in console var vid = $('#test-vid'); $(vid).bind("progress", function(e){ console.log(e.total + ' ' + e.loaded + ' ' + e.lengthComputable ); });
4 Réponses :
Pourquoi pas simplement utiliser:
$('video#test-vid').bind("progress",function(e){ console.log(e.total + ' ' + e.loaded + ' ' + e.lengthComputable ); });
Merci pour votre réponse. Lorsque vous utilisez le code ci-dessus, je reçois l'erreur "$ (VID) .Addeventlistener n'est pas une fonction" dans la console.
Néanmoins, le lien que vous avez posté que je vérifiais plus tôt aujourd'hui et que les événements "terminés" et "DuréeChange" fonctionnent sans problèmes. "Progrès" malheureusement pas.
Quel navigateur utilisez-vous et êtes-vous sûr que vous utilisez l'utilisation du
Quelques suppositions sauvages ...
Vous avez: p> sur cette deuxième ligne, vid est déjà un objet JQuery. Avez-vous essayé simplement d'utiliser Alternativement, si vous connaissez vid.bind () code>? P>
addEventListener code> fonctionne, pourquoi ne pas l'utiliser? Peut-être que vous aurez de la chance si, après avoir sélectionné avec jQuery, vous émettez l'objet DOM non décoré: P>
var vid = $('#test-vid');
vid.get().addEventListener(...
Vous obtenez un indéfini car JQuery utilise une liste blanche d'événements-propriétés, pour normaliser les événements, ni chargé ni total ne figure dans cette liste. P>
Si vous souhaitez obtenir les informations, vous devez utiliser: e.originalEvent.lengthcendable etc .. p>
Mais honnêtement, vous ne devriez pas faire cela. Ces propriétés d'événement sont uniquement Firefox et ne font plus partie de la spécification HTML5. Vous devez utiliser l'objet tamponnier dans d'autres navigateurs. La progression-chose est vraiment problématique dans les médiasements HTML5. Safari sur iPad fonctionne différent de Safari sur Mac, etc. p>
Une implémentation de navigateur croisée d'un événement progressiste peut être trouvée dans le JMediaElement-Libary: http://github.com/ Afarkas / JMediaElement / BLOB / 1.1.3 / SRC / MM.BASE-API.JS # L312 P>
Cordialement Alex P>
Utilisez le ventre original: