1
我很抱歉,我對腳本編寫不太好,所以我希望這不是太基本的請求。Youtube API:動態命名和循環
我處於這種情況,我需要有多個可循環點擊的YouTube視頻。我不想使用可嵌入播放列表循環選項,因爲它有幾秒鐘的黑色刷新播放列表中的視頻,在這種情況下,它將成爲它本身。
我在這裏找到一些文章,向您展示如何使用數據屬性動態創建多個視頻,以及如何在YouTube視頻中循環特定時間,但是當我嘗試合併這些時,出現錯誤,我認爲這是一個範圍問題,但不知道如何解決。以下是我的代碼,以及每個原創小提琴的鏈接。
我收到的錯誤是: 「未捕獲的ReferenceError:玩家沒有定義」 使用數據
<div style="position: relative;display:block;width: fit-content;margin:0 auto;">
<a href="#"><div style="width: 100%;height:100%;position:absolute;"></div>
</a>
<div class="video-container">
<div data-id="YE7VzlLtp-4"></div>
</div>
</div>
<script src="https://www.youtube.com/iframe_api"></script>
<script>
function onYouTubeIframeAPIReady() {
var players = document.querySelectorAll('.video-container div')
for (var i = 0; i < players.length; i++) {
new YT.Player(players[i], {
videoId: players[i].dataset.id,
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
},
playerVars: {
'autoplay': 1,
'loop': 1,
'controls': 0,
'showinfo': 0,
'modestbranding': 1}
});
}
}
function onPlayerReady(event) {
loopStart();
players.playVideo();
}
function loopStart() {
players.seekTo(7); // Start at 7 seconds
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.PLAYING) {
setTimeout(loopStart, 5000); // After 5 seconds, restart the loop
}
}
</script>
多畫屬性示例: https://jsfiddle.net/nightcoregirl/jyha6xj5/
循環示例: http://jsfiddle.net/pbosakov/Lo6gwtff/
預先感謝任何一個isight!
這是驚人的,非常感謝。我覺得有一個範圍問題,但是如果沒有你的幫助,我不可能弄清楚這個問題。再次感謝! – equivoques