これはHTMLファイル内の有効なプレーヤーです。 YT.PlayerState.ENDED
a.k.a. event.data == 0
のハンドラが、videoIDを格納するクライアントサイドのJavascriptオブジェクト(booth
)を参照できるようにしたいが、booth
は未定義です。このようなことをするための適切なテクニックは何ですか?ここでYouTube iframe API - 内部からJavascriptオブジェクトを参照していますonPlayerStateChangeイベントハンドラ
function onPlayerStateChange(event) {
if (event.data == -1) {
player.playVideo();
}
if (event.data == 0) {
alert("This alert pops up");
alert(window.booth);
// Undefined -- even though "booth" is already instantiated in linked JS file
/*
window.booth.cue.index++;
event.target.loadVideoById(window.booth.cue.list[booth.cue.index].id);
*/
}
}
は全体Javascript fileある - ライン16 socket.on('boothCreated'...
booth
がインスタンス化され、それが作成したプレイヤーにのみ後にされたハンドラである - それは、プレイヤーがこれを参照することができるはずと私に思われます。
リンクされたJSファイルを提供できますか?ブラウザは決して間違っていません。 – Azamantes
@Azamantes、JSファイルを追加したことに気付かなかった場合に備えて、タグ付けしています。 – aweeeezy