【问题标题】:YT getPlayerState() not a functionYT getPlayerState() 不是函数
【发布时间】:2016-06-08 15:19:39
【问题描述】:

我需要通过 JS 访问 YouTube 状态来控制视频幻灯片。出于某种原因,我收到 getPlayerState() is not a function 消息。我可以直接访问 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(),所以我有点难过。非常感谢任何帮助,

【问题讨论】:

标签: javascript jquery youtube-api


【解决方案1】:

您必须检查 getPlayerState 是否是一个函数。

getPlayerState() 是一个数字,更有趣!

例如:

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

【讨论】:

  • 感谢您的回答。我完全忘记了这个问题。我知道问题是 getPlayerState 还不是一个函数。我通过在超时循环中进行类似于您的检查来解决这个问题。如果你深入到对象但函数不可用,我仍然想知道为什么值在那里。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
  • 2021-07-31
  • 1970-01-01
  • 2018-01-30
  • 1970-01-01
相关资源
最近更新 更多