【问题标题】:YouTube API: custom button to start playing an embedded videoYouTube API:开始播放嵌入视频的自定义按钮
【发布时间】:2013-04-18 16:48:14
【问题描述】:

我在网站中嵌入了一个 YouTube 视频,但我想通过单击播放器外部的自定义按钮开始播放它。

在网络上进行了一些研究后,我尝试了这段 js:

$(document).ready(function() {
    $.getScript('http://www.youtube.com/player_api');


    $('#playvideo').click( function() {
         thevid=document.getElementById('thevideo'); thevid.style.display='block'; this.style.display='none'; $('#video').playVideo();
    });
});

#playvideo 是按钮,#video 是 YouTube iframe。

这是嵌入的html代码:

<iframe id="video" width="266" height="150" src="http://www.youtube-nocookie.com/embed/uJnHiN-GsZM?rel=0&showinfo=0&controls=2&enablejsapi=1" frameborder="0" allowfullscreen></iframe>

但它不能在任何浏览器上运行,我收到这个 JS 错误:

Uncaught TypeError: Object [object Object] has no method 'playVideo'

谁能给我一些建议?

【问题讨论】:

  • 您使用的是哪个浏览器?不同的浏览器可能会略有不同...
  • Chrome、Firefox、Safari、Opera 和 IE10 的最新版本无法运行
  • 刚刚在 jsfiddle.net 中尝试过 工作正常。

标签: jquery youtube-api embedding youtube-javascript-api


【解决方案1】:

您在此处引用 ID 为 thevideo 的视频:

document.getElementById('thevideo')

但您稍后尝试在此处引用 ID 为 video 的视频:

$('#video').playVideo();

确保您的所有 ID 和参考资料均正确无误。如果问题仍然存在,请告诉我们。

【讨论】:

    【解决方案2】:

    请改用 var player = YT.Player('player'); player.playVideo();

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-09
      • 2012-07-23
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 2021-05-06
      • 2018-03-16
      相关资源
      最近更新 更多