Mit video.js mit dynamisch erstellten video-tags

Derzeit bin ich über video.js zu handhaben flash-fallback von html5-video. Wenn ein Benutzer auf eine Miniaturansicht auf meiner Website, die ich dynamisch mit js/jquery) erstellen, und fügen Sie den gewünschten html-Code in ein jquery-ui-dialog-Fenster, das zeigt dann das video, entweder mit html5 oder flash-fall-back. Hier ist der relevante code:

    //setup jquery ui dialog window 
    $( "div#video_box" ).dialog({
            autoOpen: false,
            modal: true,
            width: 'auto',
            resizable: false,
            draggable: true,
            close: function() {
                $("video").remove()
            }
         });

    //the following code runs after a video thumbnail click event.  
{
    var $videoBox = $("div#video_box"),
    url = VIDEOSTORAGE + id ,  //url to s3 storage bucket + id of the video/thumbnail that was clicked
    html ="";
    html += "<video id='downloadedVideo_"+id+"' class='video-js vjs-default-skin' width='320' height='240' controls preload='auto' width='640' height='264' poster='"+PHOTOSTORAGEMEDIUM + id'>";
    html += "<source src='"+url+".mp4' type='video/mp4' />";
    html += "</video>";
    $videoBox.html(html);
    $("#downloadedVideo_"+id).load();
    $videoBox.dialog( "open" );
    _V_("downloadedVideo_"+id);  //initialize video player
}

Dieser code funktioniert perfekt auf allen Browsern das erste mal, dass ein video thumbnail geklickt wird. Mein Fehler wird ausgelöst, wenn ein Benutzer klickt auf das video-thumbnail für ein video, dass hat er schon geguckt.

In FF bin ich ein "kein video mit unterstützten mime-Typ gefunden" Fehler auf dem zweiten pass an. Chrome und safari laden und spielen Sie das video auf dem zweiten pass; aber nicht so mit Ihren Standard-html5-player anstatt der video.js player.

Ich denke, dass mein problem ist, dass video.js muss initialisiert werden, die mit einzigartigen video-tag-ids, und das zweite mal ein Benutzer klickt auf ein video-thumbnail mein code versucht zu initialisieren, muss der Spieler mit einem video-tag-id, die es bereits verwendet.

Kennt jemand eine saubere Möglichkeit um dieses problem zu vermeiden?

Vielen Dank im Voraus für Ihre Hilfe.

InformationsquelleAutor chuck w | 2012-08-26
Schreibe einen Kommentar