我有一个YouTube播放列表;一切都很顺利。这是代码:
<div id="player"></div>
<script>
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 done = false;
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
width: '100%',
height: window.innerHeight-120+'px',
vq: 'hd720',
videoId: 'ZnToyoZus74',
playerVars: {
'autoplay': 1,
'loop': 1,
'showinfo': 0,
'controls': 0,
'playlist': [
'Glr36uh7Uls,Mx-cOLPqieg,C9uA-LFJS3Q,mKB4j3Lqa3w,tLmLXEShHT8'
]
}
});
}
</script>
但是,我想显示与其正下方正在播放的视频相关的自定义信息(以分开的<div>
但不覆盖视频)。视频开始后,将显示包含第一个视频中信息的<div>
,一旦视频结束,此div将消失。第二个视频开始播放后,将显示包含第二个视频信息的其他<div>
。
<div>
元素将包含使用视频的id
作为文件名的HTML文件:ZnToyoZus74.html
。
在此示例中,我使用以下ID:
ZnToyoZus74
Glr36uh7Uls
Mx-cOLPqieg
C9uA-LFJS3Q
mKB4j3Lqa3w
tLmLXEShHT8
答案 0 :(得分:0)
解决!
这是最终的代码,以防万一有人在寻找相同的答案:
<div id="player" style="float:right;"></div>
<script>
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 done = false;
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
width: '100%',
height: window.innerHeight-110+'px',
vq: 'hd720',
videoId: 'K7XbJ0XLXPY',
playerVars: { 'autoplay': 1, 'loop': 1, 'showinfo': 0, 'controls': 0, 'playlist':['UiUZOo1b6m0,w0Sm9tRJDDA']},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
});
}
function onPlayerReady(evt) {
evt.target.playVideo();
}
function onPlayerStateChange(evt) {
if (evt.data == YT.PlayerState.PLAYING) {
var url = evt.target.getVideoUrl();
var match = url.match(/[?&]v=([^&]+)/);
var videoId = match[1];
document.getElementById("myiframe").src='videosinfo/'+videoId+'.html';
}
}
</script>
<iframe name="myiframe" id="myiframe" width="100%" height="200px" allowtransparency=true frameborder="0" ></iframe>