2013-06-24 42 views
3

媒體元素2.12.0mediaelement.js音量控制在增加瀏覽器縮放時混亂

這隻發生在FF和Chrome(而不是IE或Opera)中。導航到具有媒體元素播放器的網站內容後,即使是媒體元素首頁http://mediaelementjs.com/也有播放器。

當瀏覽器縮放設置爲「正常」(通常按Ctrl + 0)時,它看起來很好。

當縮放增加時(通過按Ctrl +或Ctrl +滾動鼠標滾輪),音量控制放在整個元素下面。

Screenshot of MEJS website

上面截圖在變焦從正常一層更大製成。

有沒有一種方法使它在所有瀏覽器縮放中都看起來不錯?

+0

無法重現FF 22.0 Mac OS X 10.6 –

+0

此錯誤已存在至少一年。 https://github.com/johndyer/mediaelement/issues/483 – NoBugs

回答

5

在縮放頁面時,似乎div.mejs-controls的孩子溢出了,但它不是CSS情況。大小div.mejs-time-rail是由Javascript動態生成的。 (https://github.com/johndyer/mediaelement/blob/master/src/js/mep-player.js#L845

Inspect Elements

我發現了一個技巧,可以簡單地解決這個問題,這是由1px的降低div.mejs時間軌的寬度。

所以我在這裏得到了一個快速修復。在MEP-player.js,線845(https://github.com/johndyer/mediaelement/blob/master/src/js/mep-player.js#L845),修改下列

total.width(railWidth - (total.outerWidth(true) - total.width())); 

total.width(railWidth - (total.outerWidth(true) - total.width()) - 1); 
+0

請忽略以前的評論 - 這似乎是最好的解決方案,你也可以猴子補丁,而不是改變mejs代碼。 – NoBugs

+0

我有一個非常具體的應用程序,我知道每次的確切大小,所以我設置了.mejs-time-rail {width:196px!important; }它運作良好。謝謝!! – mydoglixu

0

你必須在你的CSS改變,並設置像

<div id="mep_0" class="mejs-container svg mejs-audio" style="width: 440px; height: 30px;"> 
<div class="mejs-inner" style="width:100%;"> 
<div class="mejs-mediaelement"> 

和寬度檢查。希望這會幫助你。

+0

在什麼情況下添加'width:100%'幫助?我沒有看到區別。 – NoBugs

+0

在div'mep_0'中,我將寬度從380px更改爲440px,並在div'mejs-inner中應用width = 100%。你可以用mep_0 dive中witdth的增加/減少來檢查你的輸出。希望這會幫助你。 –

+0

這與其他答案基本相同,只是擴大了球員,而不是讓球員內線變小。它在所有縮放級別上看起來都不太合適。 – NoBugs

1

我通過改變以下行

line 2705 insert **- 40** 
// fit the rail into the remaining space 
railWidth = t.controls.width() - usedWidth - 40 - (rail.outerWidth(true) - rail.width()); 

line 2713 change to 
total.width(railWidth - (total.outerWidth(true) - total.width()) - 5); 

希望這有助於固定它在文件的MediaElement和-player.js。

相關問題