Это вопрос, похожий на как передать аргументы в addeventlistner Но сценарий немного отличается при использовании API проигрывателя Youtube.
Итак, у меня есть несколько проигрывателей YouTube на одной странице, используя swfobject:
swfobject.embedSWF("http://www.youtube.com/v/"+video_id+"?enablejsapi=1&version=3&modestbranding=1&theme=light&color=white&autohide=1&controls=1&showinfo=0&iv_load_policy=3&autoplay=0&playerapiid=<%= "ytPlayer#{index}" %>", "<%= "ytPlayer#{index}" %>", "500", "280", "8", null, null, params);
Где я использую ruby для генерации идентификатора объекта ytplayer. И я слушаю событие onStateChange в другой функции.
ytplayer.addEventListener("onStateChange", "onytplayerStateChanged");
function onytplayerStateChanged(newState) {
if(newState == -1){
//unstarted
}else{
debugger;
}
}
Но проблема в том, что я не могу знать, из какого ytPlayer исходит это событие. (найдите источник вызывающего абонента в функции onytplayerStateChanged) Поскольку я могу поймать это событие, только следуя точной реализации этой структуры. Я попробовал реализацию на этом, но он победил больше не поймать событие.