我尝试在我的网站中实现 YouTube API,直到几天前它都运行良好,经过几个小时的毫无进展后,我已经完成了基本设置,我可以了当页面中已嵌入 iFrame 时,无法让它工作。
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubeIframeAPIReady() {
player = new YT.Player('testplayer');
}
function playthevideo() {
player.playVideo();
};
jQuery( document ).ready(function() {
jQuery('.testing').on('click', playthevideo);
});
http://jsfiddle.net/parvavilla/GXC4e/
当您单击按钮时,控制台会显示:
Uncaught TypeError: Object #<S> has no method 'playVideo'
你知道我在这个 fiddle 中做错了什么吗?
最佳答案
问题是您已经通过 iframe 加载视频。 API 不希望出现这种情况。您所需要的只是一个普通的容器。在您的 HTML 中:
<div id="testplayer"></div>
然后在你的 JavaScript 中:
player = new YT.Player('testplayer', { videoId: 'M7lc1UVf-VE' });
JSFiddle:http://jsfiddle.net/GXC4e/2/
关于javascript - YouTube API 和 playVideo 的噩梦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20529877/