这是一个类似于如何将参数传递给 addeventlistner的问题, 但是使用 Youtube 播放器的 api 的情况有点不同。
所以我在同一页面上有多个 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 对象 ID。我正在另一个函数中监听 onStateChange 事件。
ytplayer.addEventListener("onStateChange", "onytplayerStateChanged");
function onytplayerStateChanged(newState) {
if(newState == -1){
//unstarted
}else{
debugger;
}
}
但问题是我不知道这个事件来自哪个 ytPlayer。(在 onytplayerStateChanged 函数中找到调用者的来源)因为我只能通过遵循这个结构的确切实现来捕捉这个事件。我在This one上尝试了实现,但它不再捕获该事件。