2016-06-08 5 views
0

Ich muss auf den YouTube-Status über JS zugreifen, um eine Video-Diashow zu steuern. Aus irgendeinem Grund bekomme ich die getPlayerState() ist keine Funktion Nachrichten. Ich kann direkt auf die playerState Eigenschaft zugreifen, obwohl ich es "korrekt" wie in den Dokumenten angegeben tun möchte. Weiß jemand, welches Problem das verursacht?YT getPlayerState() keine Funktion

Einschlägige Code:

if (window.YTIframeAPIReady) { 
    ytPlayers[this.id] = new YT.Player(this.id, { 
    events: { 
     'onStateChange': youtubeStateChange, 
    } 
    } 
} 

function youtubeStateChange(event) { 
    // This returns the player state. 
    console.log(event.target.v.playerState); 
    // This returns Uncaught TypeError: event.target.getPlayerState is not a function 
    console.log(event.target.getPlayerState()); 
} 

Ich habe einen ähnlichen Code in einem anderen Teil der Website, scheint nach wie vor mit dem getPlayerState() arbeiten zu werden, so bin ich ein wenig ratlos. Jede Hilfe wird sehr geschätzt,

+0

Bitte versuchen Sie die Lösung in diesem SO Post gegeben - [Youtube iframe Spieler JS API mit jQuery - Spieler-Objekt hat keine Methode 'getPlayerState'] (http://stackoverflow.com/ Fragen/15637991/youtube-iframe-player-js-api-mit-jquery-player-objekt-hat-keine-methode-getplaye). Ich hoffe, dass damit auch Ihr Problem abgedeckt wird. – Teyam

+0

@Teyam 'this.id' ist die ID des Frames. – sareed

Antwort

0

Sie haben eine Überprüfung, um zu sehen, ob getPlayerState eine Funktion ist.

getPlayerState() ist eine Nummer, die es noch mehr Spaß macht!

Zum Beispiel:

if (typeof players[0].getPlayerState === "function") { 
    console.log(event.target.getPlayerState()); 
} 
+0

Vielen Dank für Ihre Antwort. Ich hatte diese Frage völlig vergessen. Ich weiß, das Problem ist, dass der getPlayerState noch keine Funktion ist. Ich habe das Problem gelöst, indem ich in einer Timeout-Schleife eine ähnliche Überprüfung wie Sie durchgeführt habe. Ich würde immer noch gerne wissen, warum der Wert vorhanden ist, wenn Sie in das Objekt graben, aber die Funktion nicht verfügbar ist. – sareed