2011-03-31 103 views
9

我卡住了!我正在使用jquery,点击后,拉一个youtube json-c feed,获取第一个id,并使用它将html5 iframe视频添加到ul的顶部。然后我增加它并拉第二个id,第三个id等,并相应地预先设置它们。阻止所有YouTube iframe嵌入播放?

问题是,当新的视频被预先添加时,我想要停止播放任何以前的视频。他们的任何方式来完成这与JavaScript/jQuery的?

这里的函数调用:

function videoCall(i) { 
$.getJSON('http://gdata.youtube.com/feeds/api/standardfeeds/most_recent?v=2&max-results=50&alt=jsonc', function(vid) { 
    var fullItem =''; 
    var videoID = (vid.data.items[i].id); 
    var videoLink = 'http://www.youtube.com/watch?v=' + videoID; 
    var videoTitle = (vid.data.items[i].title); 

    fullItem += '<li class="videoItem">'; 
    fullItem += '<iframe title="YouTube video player" width="900" height="536" src="http://www.youtube.com/embed/' + videoID + '" frameborder="0" allowfullscreen></iframe>'; 
    fullItem += '<a href="mailto:?subject=ThinkerBot Video&body=' + videoLink + '">Email This</a>'; 
    fullItem += '</li>'; 

    $(fullItem).hide().prependTo('#content ul').slideDown('slow'); 
}); 
} 
+0

附加类的iframe得到IFRAME SRC删除并重新把SRC将停止视频 – pareshm 2016-03-16 05:03:42

回答

2

你应该能够做这样的事情:

function players(func, args) { 
    var iframes = document.getElementsByTagName('iframe'); 
    for (var i=0; i<iframes.length; ++i) { 
     if (iframes[i]) { 
      var src = iframes[i].getAttribute('src'); 
      if (src) { 
       if (src.indexOf('youtube.com/embed') != -1) { 
        iframes[i].contentWindow.postMessage(JSON.stringify({'event': 'command','func': func,'args': args || []}), "*"); 
       } 
      } 
     } 
    } 
} 

// example usage 
players('stopVideo');