Есть код:
<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 player;function onYouTubeIframeAPIReady() {player = new YT.Player('player', {
height: '494', // Высота
width: '878', // Ширина
videoId: "<?php echo $video['popup']; ?>", /* kaR07DuN2T8 */ // ID видео
playerVars: { 'autoplay': 1, 'loop': 1},events: {'onReady': onPlayerReady,'onStateChange': onPlayerStateChange}});}function onPlayerReady(event) {event.target.playVideo();this.id="pl";} function onPlayerStateChange(event) {if (event.data == YT.PlayerState.ENDED ) { event.target.playVideo();}}</script>
Проблема в том, что php код может несколько раз вызывать данный фрагмент на странице. Однако, в таком случае только первое видео будет отображаться в браузере.
Я попробовал решить проблему таким образом:
<?php if(!isset($lal)){$lal=0;}?>
<div id="player<?php print $lal;?>"></div>
<script>var tag = document.createElement('script');tag.src = "https://www.youtube.com/iframe_api";var firstScriptTag = document.getElementsByTagName('script')[<?php print $lal;?>];firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);var player;function onYouTubeIframeAPIReady() {player = new YT.Player('player<?php print $lal;?>', {
height: '494', // Высота
width: '878', // Ширина
videoId: "kaR07DuN2T8", /* kaR07DuN2T8 */ // ID видео
playerVars: { 'autoplay': 1, 'loop': 1},events: {'onReady': onPlayerReady,'onStateChange': onPlayerStateChange}});}function onPlayerReady(event) {event.target.playVideo();event.target.setVolume(0);this.id="pl";} function onPlayerStateChange(event) {if (event.data == YT.PlayerState.ENDED ) { event.target.playVideo();}}</script>
<?php $lal++;?>
Однако, это тоже не помогло. Что тут можно придумать или исправить? Заранее спасибо