【发布时间】:2020-04-14 17:25:21
【问题描述】:
感谢 Mihail Minkov 帮助我为 YouTube API 打下了良好的基础。由于我显示的是播放列表而不是单个视频,因此不得不调整你给我的内容。
守则 HTML
<body class="center">
<div class="navbar">
<a href="/index.html">Home</a>
<a href="/main/application.html">Application</a>
<a href="/main/games.html">Games</a>
<a href="/main/leadership.html">Leadership</a>
<a href="#Social" class="active">Social Media</a>
<a href="#Social" class="active">Social Media</a>
</div>
<div class="top">
<input type="image" src="/media_files/social_media/youtube.png" alt="YouTube" style="width:100px" onclick="img(1); pauseVideo();">
<input type="image" src="/media_files/social_media/twitter.png" alt="Twitter" style="width:100px" onclick="img(0); pauseVideo();">
</div>
<div id="player"></div>
<div id="twitter" hidden>
<a class="twitter-timeline" data-lang="en" data-width="600" data-height="400" data-theme="dark" href="https://twitter.com/clanshocktac?ref_src=twsrc%5Etfw">Tweets by clanshocktac</a>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>
</div>
</body>
JavaScript
var done = false;
var player;
var tag = document.createElement('script');
var firstScriptTag = document.getElementsByTagName('script')[0];
tag.src = "https://www.youtube.com/iframe_api";
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
function img(x) {
if (x == 0) {
document.getElementById('player').style.display = 'none';
document.getElementById('twitter').style.display = 'block';
}
else {
document.getElementById('player').style.display = 'block';
document.getElementById('twitter').style.display = 'none';
}
return;
}
function onYouTubeIframeAPIReady() {
player = new YT.Player('player', {
height: '600',
width: '900',
playerVars: {
listType: 'playlist',
list: 'PLDNv6o8iIDrw6ETcAy8s3xHgn2UdjpZ-e'
}
});
}
function onPlayerReady(event) {
event.target.playVideo();
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING && !done) {
setTimeout(stopVideo, 6000);
done = true;
}
}
function pauseVideo() {
player.pauseVideo();
}
function playVideo() {
player.playVideo();
}
这是当我在 YouTube<div> 和 Twitter<div> 问题之间切换时播放/暂停的修复。
【问题讨论】:
标签: javascript html youtube-javascript-api