Javascript player.getDuration()和player.getCurrentTime()不是函数错误吗?

Javascript player.getDuration()和player.getCurrentTime()不是函数错误吗?,javascript,youtube-api,youtube-iframe-api,Javascript,Youtube Api,Youtube Iframe Api,我读过类似的问题,但没有一个对我的情况有帮助 这是我的YouTubeiframe: <iframe id="myframe" style="border: solid 4px #37474F; "> </iframe> 我正在尝试做player.getCurrentTime()和player.getDuration()但两者都不断给出“函数未定义”错误。YouTube播放器API设置player.getCurrentTime不在构造函数中,而是在以后(可能在加载视频时)

我读过类似的问题,但没有一个对我的情况有帮助

这是我的YouTube
iframe

<iframe id="myframe" style="border: solid 4px #37474F; ">
</iframe>

我正在尝试做
player.getCurrentTime()
player.getDuration()
但两者都不断给出“函数未定义”错误。

YouTube播放器API设置
player.getCurrentTime
不在构造函数中,而是在以后(可能在加载视频时)设置。很可能,这是一个bug

要查看是否正确,请在每次调用之前添加
console.log(player.getCurrentTime)
。您将看到,这是未定义的,最初和后来对函数进行的更改

通过测试是否存在
player.getCurrentTime
来解决这个问题。如果不是,则假定返回值为
0.0
。例如:

var videoPos = !player.getCurrentTime ? 0.0 : player.getCurrentTime();

同样的问题似乎发生在
getDuration

上,正如usr所说,这可能是一个bug。还有另一个解决方案:

var yourVariable = player.getCurrentTime() || 0;
也许这些链接对你有帮助//
var yourVariable = player.getCurrentTime() || 0;