我需要通过JS访问YouTube状态以控制视频幻灯片。由于某种原因,我收到的getPlayerState()不是函数消息。我可以直接访问playerState属性,尽管我想按照文档中所述的“正确”方式进行操作。有谁知道是什么原因引起的?

相关代码:

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());
}


我在网站的另一部分也有类似的代码,该代码似乎仍在与getPlayerState()一起使用,因此我有些困惑。任何帮助是极大的赞赏,

最佳答案

您必须检查getPlayerState是否为函数。

getPlayerState()是一个数字,这使它更加有趣!

例如:

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

07-27 13:29