javascript - YouTube API 和 playVideo 的噩梦

标签 javascript jquery youtube

我尝试在我的网站中实现 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/

相关文章:

javascript - 将 API 的响应写入 HTML

YouTube 放弃了直接 URL 和嵌入视频中的 #t 开始时间支持?

html - 如何将 Youtube 视频嵌入到 HTML5 <video> 标签中?

javascript - 使用橡皮擦时保留背景图像

javascript - 如何从 `iframe` 听到内容变化?

javascript - 被 promise 对象的错误链混淆

php - 如何在jquery对话框中显示php提交表单的结果

jquery - 如何清除 Telerik ASP.NET MVC Grid 上的过滤器

javascript - HTML 表单中的数据通过 JavaScript 导出到 XML

api - YouTube API返回空项目列表