2013-07-23 3 views
0

Мне нужно поставить мой jwplayer внутри диалогового окна, и я сделал это, как я создал другие диалоги, но с ошибкой «TypeError: jwplayer (...). "Встраиваемый jwplayer в jQuery Dialog

Вот мой код следующим образом:

function popupVideoPlayDialog(urlToRenderedVideo, thumbnailUrl, cvId) { 
// create dialog frame div for dialog 
var dialogFrame = document.createElement('div'); 
dialogFrame.setAttribute('id', 'videoPlayDialog'); 

// Load Videos 
loadVideoByUrlWithSize("videoPlayDialog", urlToRenderedVideo, thumbnailUrl, 640, 480); 

$dialog = $(dialogFrame).dialog({ 
     width : 640, 
     height : 480, 
     modal : true, 
     show : { 
      effect : 'clip', 
      duration : 500 
     }, 
     hide : { 
      effect : 'clip', 
      duration : 500 
     }, 
     title : 'video play', 
     buttons: [ 
      {text: "Cancel", click: function() {$(this).dialog("close")}} 
     ] 
    }); 
    return false; 

} 

function loadVideoByUrlWithSize(elementId, videoUrl, videoThumbnail, width, height) { 
jwplayer(elementId).setup({ 
    file : videoUrl, 
    image : videoThumbnail, 
    width : width, 
    height : height 
}); 
} 

ответ

0

К сожалению, я понял свою ошибку.

Способ, которым я вызываю loadVideoByUrlWithSize для загрузки видео, неверен, поскольку это не должно быть сделано до создания или открытия диалога.

Вот мое решение, надеюсь, что это помогает:

$dialog = $(dialogFrame).dialog({ 
     width : 640, 
     height : 480, 
     modal : true, 
     **open: function(){loadVideoByUrlWithSize("videoPlayDialog", urlToRenderedVideo, thumbnailUrl, 640, 480);},** 
     show : { 
      effect : 'clip', 
      duration : 500 
     }, 
     hide : { 
      effect : 'clip', 
      duration : 500 
     }, 
     title : 'video play', 
     buttons: [ 
      {text: "Cancel", click: function() {$(this).dialog("close")}} 
     ] 
    }); 
    return false;