Comment puis-je fermer automatiquement fancybox lorsque la vidéo youtube est terminée?Comment faire pour fermer fancybox automatiquement lorsque l'ID de la vidéo youtube est terminée?
Répondre
Ce n'est pas aussi simple que cela puisse paraître:
- d'abord déterminer si vous allez utiliser le lecteur embed ou iframe.
- Suivez les exemples embed player API ou iframe player API pour initialiser l'API.
- Utilisez la fonction "onComplete" fancybox callback pour configurer le lecteur une fois la fenêtre contextuelle ouverte.
- Dans le rappel, assurez-vous d'ajouter un écouteur d'événement
onStateChange
afin que vous puissiez déterminer quand la vidéo est terminée (la valeur de zéro signifie que la vidéo est terminée) - Une fois que vous trouvez que la vidéo est terminée, utilisez la
$.fancybox.close
méthode pour fermer la fenêtre
ou, vous pouvez simplement laisser l'utilisateur fermer la fenêtre contextuelle.
Après avoir regardé autour sans chance est ici une solution, je suis venu avec
Voyez ce que nous faisons, regarder une vidéo ici
<div style="display: none;">
<div id="player"></div>
</div>
<script src="http://www.youtube.com/player_api"></script>
<script>
$(document).ready(function() {
$("a.video_button").fancybox({
'titlePosition' : 'inside',
'transitionIn' : 'none',
'transitionOut' : 'none'
});
});
// create youtube player
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 's19V_6Ay4No',
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
// autoplay video
function onPlayerReady(event) {
}
// when video ends
function onPlayerStateChange(event) {
if(event.data === 0) {
$(document).ready(function() { parent.$.fancybox.close();});
}
}
</script>
Oui, c'est la bonne façon de gérer à fancybox ou colorbox . L'API de Youtube Video fournit différents états pour gérer ceci comme unstarted = -1, terminé = 0, playing = 1, mis en pause = 2, buffering = 3, video cued = 5
Obtenir ou piéger cet état dans le bloc de code fancybox jquery peut y parvenir facilement. Il suffit de visiter cet article avec une démo appropriée aussi.
Ceci est le script complet avec Fancybox-Youtube-Cookie-Autoclose-Autopopup il suffit de télécharger les images qui sont nécessaires dans css les mettre dans le dossier/fancybox dans votre racine et remplacer par votre ID vidéo. Fonctionne vraiment bien testé ...
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/helpers/jquery.fancybox-media.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/fancybox/2.1.5/jquery.fancybox.min.css" media="screen" />
<script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.min.js"></script>
<script src="http://www.youtube.com/player_api"></script>
<script type="text/javascript">
// detect mobile devices features
var isTouchSupported = 'ontouchstart' in window,
isTouchSupportedIE10 = navigator.userAgent.match(/Touch/i) != null;
function onPlayerReady(event) {
if (!(isTouchSupported || isTouchSupportedIE10)) {
// this is NOT a mobile device so autoplay
event.target.playVideo();
}
}
function onPlayerStateChange(event) {
if (event.data === 0) {
$.fancybox.close();
}
}
function onYouTubePlayerAPIReady() {
$(function() {
if ($.cookie('welcome_video')) {
// it hasn't been three days yet
} else {
// set cookie to expire in 3 days
$.cookie('welcome_video', 'true', { expires: 3});
$(document).ready(function() {
$.fancybox.open({
\t \t href: "https://www.youtube.com/embed/qm1RjPM9E-g", /*YOUR VIDEO ID*/
helpers: {
media: {
youtube: {
params: {
autoplay: 1,
rel: 0,
// controls: 0,
showinfo: 0,
autohide: 1,
}
}
},
buttons: {}
},
beforeShow: function() {
var id = $.fancybox.inner.find('iframe').attr('id');
var player = new YT.Player(id, {
events: {
onReady: onPlayerReady,
onStateChange: onPlayerStateChange
}
});
}
}); // fancybox \t
}); // ready
} // cookie else ready
}); // function for cookie
} // youtube API ready
</script>
- 1. Action lorsque la vidéo YouTube est terminée!
- 2. Comment faire pour que la vidéo youtube quitte le plein écran lorsque la vidéo est terminée
- 3. Youtube lecteur intégré: événement lorsque la vidéo est terminée
- 4. vidéo YouTube Play événement OnClosed de Fancybox
- 5. Safari détecter lorsque la vidéo est terminée
- 6. Événement lorsque la vidéo est terminée - Possible?
- 7. Événements API FancyBox et Youtube
- 8. Ouvrir la vidéo Youtube avec .fancybox $() onclick
- 9. Fancybox YOutube vidéo continue de jouer
- 10. Vérifier si la vidéo YouTube (MPMoviePlayer) s'est terminée
- 11. API YouTube Lorsque la vidéo est fait
- 12. Début Activité lorsque la lecture de la vidéo est terminée
- 13. Comment faire apparaître une popup/popover lorsqu'une vidéo YouTube est terminée?
- 14. Comment faire quelque chose à la fin d'une vidéo Youtube
- 15. Étendre automatiquement la vidéo YouTube intégrée sur la lecture
- 16. Youtube action intégrée lorsque la vidéo se termine
- 17. Fancybox n'affiche pas de vidéo YouTube depuis iOS6
- 18. La vidéo YouTube Fancybox ne fonctionne pas sur Localhost
- 19. Comment intégrer une vidéo YouTube et mettre en file d'attente une vidéo Vimeo pour la remplacer lorsque la première est terminée?
- 20. fermer fancybox après délai
- 21. Arrêtez la vidéo YouTube lorsque div est fermé avec jQuery
- 22. sur fancybox 1.2.6 fermer
- 23. Fermer FancyBox après l'action?
- 24. iPhone SDK: comment passer à l'affichage précédent lorsque la lecture vidéo est terminée?
- 25. redirect après la vidéo est terminée
- 26. Comment boucler une vidéo via l'application youtube
- 27. La vidéo est lue lorsque la vidéo est affichée, lorsque la vidéo est masquée, elle s'interrompt?
- 28. comment faire pour faire apparaître la fenêtre jquery pour lire la vidéo vimeo/youtube?
- 29. Comment allumer l'écran lorsque l'application est terminée?
- 30. Fermer automatiquement un iframe
Vous devez inclure la solution et référencer le site comme où vous avez trouvé cette information. En outre, les codes courts ne sont pas une méthode valide ici, parce que le balisage en prend soin à mon humble avis. – talves
Ceci est le lien de l'API vidéo YouTube qui peut être utilisé avec le code fancybox - [YouTube-API] (https://developers.google.com/youtube/js_api_reference) Vous pouvez rechercher la fonction à la page API ci-dessus - Fonction nom - fonction onYouTubePlayerReady (playerId) visite pour la mise en œuvre du bloc complet de code - [INFOTOKRI] (http://www.infotokri.in/2013/09/close-colorbox-automatically-when.html) – CMSSE