Vidéo HTML5 à jouer après l'AJAX chargement de la page
J'ai du mal à obtenir une vidéo HTML5 pour jouer quand vous arrivez à la page via une requête AJAX.
Si vous actualisez la page, ou directement sur la page, il fonctionne très bien. Mais lors de la navigation à la page via AJAX il ne joue pas.
Le code est:
<video id="video" autoplay="autoplay" loop="loop" muted="muted" poster="http://localhost/wp-content/themes/studioindigo/videos/contactbackground.jpg">
<source src="http://localhost/wp-content/themes/studioindigo/videos/contactbackground.mp4" type="video/mp4">
<source src="http://localhost/wp-content/themes/studioindigo/videos/contactbackground.webmhd.webm" type="video/webm">
<img src="http://localhost/wp-content/themes/studioindigo/videos/contactbackground.jpg" alt="your browser does not support html5 video">
</video>
J'ai essayé de tir le code suivant sur le succès de l'AJAX chargement de la page:
video = document.getElementById('video');
video.load();
video.addEventListener('loadeddata', function() {
video.play();
}, false);
Et aussi, tout simplement:
video = document.getElementById('video');
video.play();
J'ai aussi essayé d'utiliser des plugins tels que video.js, mais en vain.
Je ne peux pas aider mais je pense que je suis absent quelque chose de vraiment simple. Sûrement, si la vidéo est sur la page et a la lecture automatique ensemble, puis il devrait jouer, indépendamment de savoir si vous arrivez à la page via AJAX ou directement?
La requête AJAX uniquement pour la page des mises à jour de la #élément principal (la vidéo est à l'intérieur) et de l'histoire.pushState - peut-être quelque chose à faire avec elle? Il ne semble pas probable...
'; ?>
dans votre balisageMerci de voir ma propre solution à ce ci-dessous dans le cas où vous rencontrez le même problème.
OriginalL'auteur Paul Thomas | 2014-03-04
Vous devez vous connecter pour publier un commentaire.
Pour quiconque est aux prises avec le même problème, j'ai constaté qu'à la suite de l'appel ajax la vidéo a la propriété 'de pause: true' même de la pensée de lecture automatique est réglé et que j'étais l'appel vidéo.play() sur "loadeddata se'.
La solution était de déclencher la vidéo.play() lors de la pause est détecté. J'ai aussi trouvé qu'il a travaillé plus lisse de ne pas avoir la "autoplay", l'attribut de la vidéo et devint saccadée après plusieurs initialisations.
DOM:
JS:
Aussi, pour ceux qui se demandent pourquoi je pourrait vouloir cette capacité, c'est pour la lecture d'une vidéo sur l'arrière-plan d'une page web, donc aucun besoin de l'utilisateur pour lire/mettre en pause.
pause
de l'événement et de la remplacer parplay
.... le seul moyen pour l'utilisateur d'arrêter la vidéo est alors de quitter votre site web.OriginalL'auteur Paul Thomas
Votre vidéo tag n'a pas d'ID. Que faire si vous aviez deux
<video>
tags? Vous souhaitez:<video id="blah"...
et puis:
video = document.getElementById('blah');
OriginalL'auteur waterlovinguy
Potentiellement c'est une erreur de syntaxe, parce que vous semblez avoir du PHP qui s'infiltre dans le code HTML dans le formulaire de
'; ?>
à la fin de laposter
etsrc
attributs.OriginalL'auteur Houdmont