我需要通过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());
}