2011-02-16 52 views
4

試圖將mediaelement.js播放器合併到Lightbox(fancybox.net)中。FancyBox + MediaElement player + IE

玩家在沒有FancyBox的IE中工作。 FancyBox在IE中使用常規文本內容。 但玩家+ fancybox在一起在IE中不起作用(在所有其他瀏覽器中完美地運行 )。

只是一個測試頁面上的球員:http://ways-means.channeltree.com/index3.html

燈箱內播放測試頁上:http://ways-means.channeltree.com/index4.html

還試圖通過iframe(相同的測試域上面拉的內容,但index5。 html)

我一整天都在ra my and and,它可能是我錯過的一些小/笨的東西,但不知道是什麼。

任何幫助表示讚賞 - 謝謝!

+0

你有這個標記``object width =「960」height =「540」type =「application/x-shockwave-flash」data =「player/mediaelementplayer.swf」>`,但它看起來像`http: // ways-means.channeltree.com/player/mediaelementplayer.swf`不存在 – JFK 2012-03-02 18:44:17

回答

2

我在這裏尋找解決方案時。直到我自己找到解決方案之前,我沒有找到任何東西。在這裏,只是爲了提供信息。我希望它能幫助別人。

$('.open-fancybox').fancybox({ 
    'afterShow': function() { 
     $('#mediaelement').mediaelementplayer(); 
    } 
}); 

<a class="open-fancybox" href="#fancybox"> 
<div id="#fancybox"> 
    <video id="#mediaelement" src="...mp4"> 
</div> 
+0

我遇到了完全相同的問題,我認爲afterShow回調會起作用,但不是。不管怎麼說,還是要謝謝你 – 2014-01-19 17:09:10

2

我最近遇到了同樣的問題,就像你在一個項目上做的那樣。就我而言,fancybox在模態窗口中正確加載了mediaelement播放器。但是,在IE8上,Flash Player已經呈現,您可以看到控件被剝離並永遠不會被替換。

看了一下插件後,看起來mediaelement會偵聽flash播放器觸發的事件,以初始化播放器的控件。根據多種情況,我發現玩家在插件被調用之前發出了該事件,這意味着插件從未確定玩家準備好了。

對我來說,修正是明確地將flashName選項設置爲swf的路徑。然後,我只是從我的源代碼中刪除了對象標記,允許插件創建它。

路徑明確設置爲SWF:

<script> 
    $(document).ready(function(){ 
     $('video').mediaelementplayer({ 
     flashName: '/path_to_mediaelement_swf/flashmediaelement.swf', 
     }); 
    }); 
    </script> 

視頻來源:

<video width="320" height="240" poster="poster.jpg" controls="controls" preload="none"> 
    <!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 --> 
    <source type="video/mp4" src="myvideo.mp4" /> 
    <!-- WebM/VP8 for Firefox4, Opera, and Chrome --> 
    <source type="video/webm" src="myvideo.webm" /> 
    <!-- Ogg/Vorbis for older Firefox and Opera versions --> 
    <source type="video/ogg" src="myvideo.ogv" /> 
    <!-- Optional: Add subtitles for each language --> 
    <track kind="subtitles" src="subtitles.srt" srclang="en" /> 
    <!-- Optional: Add chapters --> 
    <track kind="chapters" src="chapters.srt" srclang="en" /> 
    <!-- Allow the plugin to generate the object markup, preventing the swf source from loading too early --> 

</video> 

希望這有助於!

0

我剛剛遇到了同樣的問題,事實證明,如果您在顯示的div中有na(flash播放器),那麼結果會比在IE 7/8中更明顯:沒有flash player無法正確加載視頻。

對我來說,修復方法是不顯示div而不使用div,並使用jquery隱藏所有具有.hidden_​​video類的div。

這樣做後,視頻加載正確的fancybox。