2010-11-24 38 views
0

工作,我有一系列的鏈接,我的設置都的Flowplayer(http://flowplayer.org)和的fancybox(http://fancybox.net/):獲得的Flowplayer在一個的fancybox

<a class="fancybox" href="../public/video1.flv">Click here</a> 
<a class="fancybox" href="../public/video2.flv">Click here</a> 
<a class="fancybox" href="../public/video3.flv">Click here</a> 
... 

我想在一個的fancybox打開這些視頻(最後一個版本,1.3 - 我看周圍的教程爲1.2,不適合我的情況),一次一個 我它是如何簡單地JWPlayer做驚訝:

<a class="fancybox" href="../jwplayer/player.swf?file=../public/video1.flv">Click here</a> 
<a class="fancybox" href="../jwplayer/player.swf?file=../public/video2.flv">Click here</a> 
<a class="fancybox" href="../jwplayer/player.swf?file=../public/video3.flv">Click here</a> 
... 
$('a.fancybox').fancybox({ 
    'titleShow': false, 
    'type': 'swf', 
    'width': 480, 
    'height': 385, 
}); 

用的Flowplayer,這個很簡單的事情感覺像地獄

我想:

<a class="fancybox" href="../flowplayer/flowplayer-3.2.5.swf?&amp;config={'clip':'../public/video1.flv'}">Click here</a> 
<a class="fancybox" href="../flowplayer/flowplayer-3.2.5.swf?&amp;config={'clip':'../public/video2.flv'}">Click here</a> 
<a class="fancybox" href="../flowplayer/flowplayer-3.2.5.swf?&amp;config={'clip':'../public/video3.flv'}">Click here</a> 

而且,除了不具有控制欄,我得到的「錯誤301」輕彈(也許是因爲它看起來控制欄.swf文件,但它不會加載) 尋找「在參數中嵌入參數作爲查詢字符串」功能是一個噩夢(事實上,我在其他網站上發現了這種方法),所以我無法檢查我是對還是錯,以及我能做些什麼來避免錯誤301

編輯:我解決了錯誤301,原來的「flowplayer.controls-3.2.3.swf」文件應改名爲「flowplayer.controls.swf」(這是寫無處,你必須猜測它);無論如何,這並沒有什麼幫助,因爲在IE7/8上它嚴重崩潰 - JavaScript控制檯閃爍並說「'null'爲空或不是對象」

我也嘗試了jjames解決方案: http://flowplayer.org/forum/2/17398 但它不適用於我:火狐崩潰,並在IE瀏覽器,Fancybox告訴我,其他資源不應該位於 而且,無論如何,似乎這是一個單一的文件wotk,而我需要一個通用的函數,接收鏈接作爲參數... 所以,這是沒有意義的,以我的HREF ...

$(".fancybox").fancybox({ 
    'callbackOnShow': function() { // callbackOnShow doesn't exists anymore on Fancybox 1.3; seems replaced by onComplete, but no luck 
     flowplayer("fancy_div", "../flowplayer/flowplayer-3.2.5.swf", { 
      clip: { 
      baseUrl: 'http://www.myPathToVids', 
      url: 'myVideo.flv' // I have not a single video! This should be a parameter taken from href of the clicked link 
      }  
     }); 
    } 
}) 

請,任何幫助嗎? 在此先感謝,我生氣了...

回答

3

嘗試手動啓動fancybox並將其內容設置爲流水遊戲。 例如,給定的鏈接:

<a href="http://pseudo01.hddn.com/vod/demo.flowplayervod/flowplayer-700.flv" 
    class="videoLink">Demo</a> 

創建一個jQuery點擊功能是這樣的:

$('a.videoLink').click(function(e) { 
    e.preventDefault(); 

    var container = $('<div/>'); 

    container.flowplayer(
     'http://releases.flowplayer.org/swf/flowplayer-3.2.7.swf', 
     $(this).attr('href') 
    ); 

    $.fancybox({ 
     content: container, 
     width: 300, height: 200, 
     scrolling: 'no', 
     autoDimensions: false 
    }); 
}); 

注意的Flowplayer默認佔用的是容器的大小,所以必須給予有限的尺寸查看它正確。

+0

嗨,Huuu! :)你的代碼很好用,但是你有什麼想法可以使它與ipad兼容嗎?謝謝。 – cili 2011-09-20 13:42:20