3
我有一个嵌入的YouTube视频iframe在我的HTML,我需要停止编程,但我无法设置iframe的ID。因此,我试图通过将DOM元素传递给YT.Player构造函数而不是iframe ID来创建youtube对象,如docs中所指定的那样。我还在我的iframe src url的末尾添加了'?enablejsapi = 1'。通过传递DOM对象从HTML中的iframe创建YT.Player对象
我已经用下面的代码加载YouTube的JS API在我的js文件的顶部:
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function onYouTubePlayerAPIReady(){ console.log('yt api ready'); }
之后,我有以下代码:
$(function(){
$('a.close').click(function(){
var player = new YT.Player($('iframe').get(0));
player.stopVideo();
});
})
我得到的输出:
yt api ready
Uncaught TypeError: Object [object Object] has no method 'stopVideo'
我假设我搞砸了对象实例化,但我不知道如何做到这一点正确。如何在不传递构造函数iframe id的情况下创建YT.Player对象?谢谢你的帮助。
任何机会,你可以发布你的完整的代码?我不确定我是否遵循了放置yt.player构造函数的位置?在点击事件? – helgatheviking 2012-05-22 16:20:13