Bootstrap Modals & Youtube: automatische Wiedergabe-und Stopp-auf Schließen

Ich muss in der Lage sein, um die automatische Wiedergabe ein youtube-video, wenn ein Twitter-Bootstrap modal geöffnet wird und anschließend beenden Sie das video, das Sie auf schließen.

Ich weiß, diese Frage wurde vorher gefragt, aber die Antworten, die ich finden kann, würde dazu führen, eine MENGE von javascript-code für eine Seite, die enthält VIELE videos, und ich versuche zu reduzieren auf die aufblasen. Bisher habe ich die folgenden arbeiten für einzelne videos, aber das Problem ist, dass jedes modal und jedes video muss über diesen javascript-code wiederholt werden mit den richtigen Variablen.

$('#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>

Diese wird aufgebläht, wenn man 20 videos und 20 modals!
Gibt es eine Möglichkeit, um die Verwendung der Data-Attribute Methode für die Initiierung einer modal-built-in bootstrap anstatt nennen Sie es einzeln, während noch das ändern der iframe-src-innerhalb der Ziel-modal? Der link zum öffnen des modalen wäre dann:

<a href="#vid1" role="button" data-toggle="modal">
<img src="http://img.youtube.com/vi/8bKmrhI-YT8/0.jpg"></a>

Dann:

  1. Lesen der bestehenden src-Attribut des iframe in der Ziel-modal (auf eine variable?)
  2. Fügen Sie die vorhandenen Attribut " src " mit "&autoplay=1" starten Sie das video.
  3. Ersetzen Sie das src-Attribut mit dem original beim schließen des modal (über die Schaltfläche speziell wie es oben ist, ist gut).

Diese Weise würde ich nicht schreiben müssen, das Skript für jeden einzelnen modal, spart eine Menge Zeit UND aufgebläht JS. Allerdings habe ich keine Ahnung, wo Sie beginnen, ändern die bootstrap.js um dies zu erreichen und ich bin nicht erfahren in JS (oder alle) Programmierung. Vielen Dank für jede Hilfe Sie mir geben können!

InformationsquelleAutor Benjamin Morrison | 2013-05-26

Schreibe einen Kommentar