2015-12-07 2 views
1

Я работаю над проигрывателем YouTube, используя API-интерфейс Iframe YouTube. Игрок загружает видео, но когда я пытаюсь изменить видео с помощью события onclick, он не изменит видео. Вот мой HTML.loadVideoById() не меняет видео в проигрывателе YouTube

<li onclick="changeVideo('Vw4KVoEVcr0')"><a href=""><img class="button" src="" alt="Video Button"> item</a></li> 

Это мой JavaScript.

// JavaScript Document 

//create script tag for youtube api 
var tag = document.createElement("script"); 

//set the src attribute of the script tag to the youtube api 
tag.src = "https://www.youtube.com/iframe_api"; 

//get the first script tag of the document 
var firstScript = document.getElementsByTagName("script")[0]; 

//insert our youtube api tag before the first script tag in the page 
firstScript.parentNode.insertBefore(tag, firstScript); 

/* 
* 
* 
*/ 

//the video player element 
var player; 

//state of the video being played 
var done; 

/* 
* 
*/ 
function onYouTubeIframeAPIReady(){ 
    // 
    player = new YT.Player("player", { 
     width: "848", 
     height: "400", 
     videoId: "Unp7GtSPJ0Y", 
     events: { 
      "onReady": onPlayerReady, 
      "onStateChange": onPlayerStateChange 
     } 
    }); 
} 

/* 
* 
*/ 
function onPlayerReady(event){ 
    event.target.playVideo(); 
} 

/* 
* 
*/ 
function onPlayerStateChange(event){ 
    if(event.data == YT.PlayerState.PLAYING && !done){ 
     setTimeout(stopVideo, 6000); 
     done = true; 
    } 
} 

/* 
* 
*/ 
function stopVideo(){ 
    player.stopVideo(); 
} 

/* 
* Changes the videoId and starts playing the new video 
*/ 
function changeVideo(videoIdentifier){ 
    var vidId = videoIdentifier; 
    player.loadVideoById(vidId); 
} 

ответ

1

Это просто я, будучи очень глупым после очень слабого сна. Уберите ссылку. Он продолжает перенаправлять меня на новую версию страницы до того, как видео изменится.

+0

Вы когда-нибудь это выясняли? – Carlitos

+0

Да, у вас нет ссылки. Пустая ссылка будет по-прежнему обновлять текущую страницу. (Я считаю, что это была проблема) Имейте в виду, что вы спрашиваете меня через много лет после того, как я столкнулся с этой проблемой, но сегодня я дважды проверю. –

+0

Я принял ваш код и немного изменил его. Теперь работаем абстрактным игроком, где я могу создать столько кнопок, сколько мне нужно, с разными идентификаторами видео YouTube. Я установил его как onclick, где он загружает плеер YouTube в всплывающее окно. – Carlitos