Bootstrap Modals & Youtube: la lecture automatique et Arrêt sur Fermer
J'ai besoin d'être en mesure de la lecture automatique d'une vidéo youtube, lorsqu'un Twitter Bootstrap modal est ouvert et par la suite arrêter la vidéo sur fermer.
Je sais que cette question a déjà été posées, mais les réponses que je peux trouver conduirait à BEAUCOUP de code javascript d'une page qui contient de NOMBREUSES vidéos et je suis en train de couper vers le bas sur la météorisation. Jusqu'à présent j'ai de travail suivants pour les vidéos, mais le problème est que chaque modal et chaque vidéo doit avoir ce code javascript répété avec les bonnes variables.
$('#vidThumbnail-1').click(function () {
var src = 'http://www.youtube.com/embed/8bKmrhI-YT8?&autoplay=1';
$('#vid1').modal('show');
$('#vid1 iframe').attr('src', src);
//Fit Vids Implamented Below for Mobile Compatibility
$("#vid1Thumbnail-1 iframe").wrap("<div class='flex-video'/>");
$(".flex-video").fitVids();
});
$('#vid1 button').click(function () {
$('#vid1 iframe').removeAttr('src');
});
HTML:
<div id="vidThumbnail-1"><img src="http://img.youtube.com/vi/8bKmrhI-YT8/0.jpg" /></div>
<div id="vid1" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-body">
<iframe src="http://www.youtube.com/embed/8bKmrhI-YT8" width="640" height="360" frameborder="0" allowfullscreen></iframe>
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
</div>
</div>
Cela devient gonflé quand vous avez 20 vidéos et 20 auxiliaires modaux!
Est-il un moyen d'utiliser les Attributs de Données méthode de lancement d'un modal intégré dans bootstrap plutôt que de les appeler individuellement, tout en modifiant l'iframe src à l'intérieur de la cible seule modal? Le lien pour ouvrir le modal serait alors:
<a href="#vid1" role="button" data-toggle="modal">
<img src="http://img.youtube.com/vi/8bKmrhI-YT8/0.jpg"></a>
Alors:
- Lire l'existant attribut src de l'iframe dans la cible modal (définie que pour une variable?)
- Ajouter l'existant attribut src "&autoplay=1" pour lancer la vidéo.
- Remplacer l'attribut src avec l'original à la fin de l'modal (via le bouton spécifiquement comme il est ci-dessus est très bien).
De cette façon je n'aurais pas besoin d'écrire le script pour chaque individu, de modal, de gagner beaucoup de temps ET de ballonnement JS. Cependant, je n'ai aucune idée de par où commencer à modifier le bootstrap.js pour accomplir cela, et je ne suis pas expérimenté en JS (ou toutes) de programmation. Merci pour toute aide que vous pouvez me donner!
OriginalL'auteur Benjamin Morrison | 2013-05-26
Vous devez vous connecter pour publier un commentaire.
Ma solution:
&autoplay=1
de l'iframe src manuellementpuis ajouter ce script:
utiliser "?autoplay=1" si vous n'avez pas d'existant params sur votre url de youtube et de lecture automatique est la première, sinon utiliser des "&autoplay=1" pour ajouter une seconde ou plus param.
OriginalL'auteur Francesco Borzi
OriginalL'auteur Ali özyıldırım
Ici est un JS Fiddle.
J'ai ajouté un peu de l'amélioration progressive, telle était la JS à l'échec, vous serait pris pour de la vidéo YouTube dans ce cas.
Le lien nécessite de données-vidéo-intégrer et d'une cible à l'endroit où l'on va être l'ajout de la vidéo de toute autre chose doit marcher. Le cas dans l'exemple est pour Bootstrap 3 modale si vous utilisez 2.X, il va juste être "masquer".
OriginalL'auteur benembery
Je ne pouvais pas trouver une dynamique manière de traiter ce problème, j'ai donc créé une dynamique façon de gérer cela pour un site qui nous travaillons.
Voici les liens:
Voici les auxiliaires modaux:
Voici le script:
OriginalL'auteur Brit Finnegan