【问题标题】:TypeError: player.b is undefined. How do I fix that?类型错误:player.b 未定义。我该如何解决?
【发布时间】:2020-05-10 05:24:51
【问题描述】:

需要在代码中调整什么来解决这个问题?

代码: https://jsfiddle.net/0bnrg3k1/2/

    function onPlayerStateChange(event) {
    const player = event.target;
    const playerVars = player.b.b.playerVars;
    if (playerVars.loop && event.data === YT.PlayerState.ENDED) {
      player.seekTo(playerVars.start);
    }
  }

【问题讨论】:

  • 还需要看哪些代码?
  • 请给我看看这方面的文件好吗?
  • 究竟是什么决定是b.b还是g.g?
  • 你怎么知道是 g.g 而不是 c.c?
  • 这就是我正在查看的内容:i.imgur.com/fwEOvH1.png / 它在哪里说使用 g.g?

标签: javascript youtube-api


【解决方案1】:

您需要使用player.g.g.playerVars,而不是使用player.b.b.playerVars

function onPlayerStateChange(event) {
  const player = event.target;
  const playerVars = player.g.g.playerVars;
  if (playerVars.loop && event.data === YT.PlayerState.ENDED) {
    player.seekTo(playerVars.start);
  }
}

【讨论】:

  • 对不起,我找不到文档,我调试了你的代码,发现 playerVars 在一个 g 对象内,而这个 g 对象又在一个 'g' 对象内。
  • 你能分享一张截图让我看看吗?
  • 是什么决定了它是 b.b、g.g、c.c 还是 r.r?这将更好地帮助我理解它是如何工作的。
  • 在您的onPlayerStateChange 中。插入console.log(JSON.stringify(event)) 作为第一行。在线将 JSON 字符串复制到 JSON 格式化程序中,并查看事件对象的结构。这可能有助于了解事件对象
猜你喜欢
  • 2022-07-03
  • 2018-02-05
  • 2019-12-04
  • 2020-12-11
  • 2022-11-25
  • 1970-01-01
  • 2021-12-30
  • 2015-01-02
  • 1970-01-01
相关资源
最近更新 更多