2013-02-19 38 views
0

我有被添加到通過jQuery的append(HTML字符串)多個動態添加HTML視頻不靜音

的DOM我希望他們能夠被插入MUTED一堆的HTML視頻。

問題是,現在他們並沒有被靜音,即使我用靜音的道具注入它們。

當我刪除視頻標籤上的靜音attrib,並嘗試像$('video').prop("muted",true);之類的東西,它會靜音它們,但只有在它們全部加載後。

我是否嘗試以其他方式添加視頻,或者爲html視頻找到onLoad方法,並在準備就緒時觸發靜音功能。

的jsfiddle的他們的樣子追加後:http://jsfiddle.net/mvsMG/

回答

2

嘗試onloadeddata HTML5事件處理程序:

$(document).ready(function(e) { //do NOT use $(window).load; it will not mute all videos 
    // mute all the videos when data is loaded for each 
    $('video').on('loadeddata', function(e) { 
     //console.log('onloadeddata', e.target); 
     $(this).prop('muted', true); 
    }); 
}); 

這裏是demo fiddle

注:我不知道哪些瀏覽器您正在使用測試,但你應該對HTML5 mutedloopautoplay)屬性,看看這個browser-support list

+0

它增加了道具,正確但視頻不靜音... arg! – askon 2013-02-20 14:38:23

+0

您正在使用哪種瀏覽器?也可以嘗試關閉靜音然後再打開:'$(this).prop('muted',false); $(this).prop('muted',true);' – 2013-02-20 17:01:04

+0

chrome and safari,我認爲這個等式中缺少的部分是視頻被動態添加/刪除的事實。看到這裏http://goo.gl/bFPTy – askon 2013-02-20 19:10:28