我想做类似的事情:
// create youtube player
var player = new YT.Player('player', {
height: '390',
width: '640',
videoId: '0Bmhjf0rKe8'
});
var newVideo = $('<div></div>').html(player);
$('body').append(newVideo)
如何以编程方式添加 YouTube 视频元素?
我想做类似的事情:
// create youtube player
var player = new YT.Player('player', {
height: '390',
width: '640',
videoId: '0Bmhjf0rKe8'
});
var newVideo = $('<div></div>').html(player);
$('body').append(newVideo)
如何以编程方式添加 YouTube 视频元素?
YT.Player 函数的第一个参数是创建播放器对象的元素的 ID;因此,在您的代码中,由于您尚未创建元素,因此它无法创建 iframe 或注入的播放器代码。但是,如果您颠倒您的顺序,并给您以编程方式创建的 ID,它应该可以工作。您还需要将播放器的创建放在 onYouTubeIframeAPIReady() 回调函数中,因为在加载 javascript API 时会自动调用该回调函数(您可以在该函数中创建多个播放器):
var tag = document.createElement('script');
tag.src = "https://www.youtube.com/iframe_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
$('body').append("<div id='player1'></div><div id='player2'></div>");
function onYouTubeIframeAPIReady() {
player = new YT.Player('player1', {
height: '390',
width: '640',
videoId: '0Bmhjf0rKe8'
}); // repeat for player2, etc.
}
如果您稍后创建新的 YouTube 播放器实例(当您确定 API 库已经存在时)例如响应事件,则不必像这样将其包装在回调函数中(当然您不必加载 javascript 本身),但要创建 iframe 的元素在调用之前仍需要存在于 DOM 中YT.Player()
。