5

これはaddeventlistner に引数を渡す方法と同様の質問です が、Youtube プレーヤーの API を使用すると、シナリオが少し異なります。

したがって、swfobject を使用して、同じページに複数の YouTube プレーヤーがあります。

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で実装を試みましたが、もうイベントをキャッチしません。

4

1 に答える 1