@pitimirov_a

Как воспользоваться yt api на странице дважды?

Есть код:
<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++;?>


Однако, это тоже не помогло. Что тут можно придумать или исправить? Заранее спасибо
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽