防止在YouTube视频之间快速转换时出现控制台错误

时间:2014-11-10 12:51:31

标签: javascript jquery youtube youtube-api youtube-javascript-api

我正在创建一个网站,我在点击某个网址时嵌入了YouTube视频。视频的包装器最初是隐藏的,所以我在点击一个url然后创建播放器时显示包装器。

一切都很好,除了在url之间快速转换的情况下,控制台中会抛出一些看起来像的错误 -

Uncaught TypeError: Object #<O> has no method 'cueVideoById'

以下是示例代码 - http://jsfiddle.net/2b6bu7p4/2/

只有当我在页面加载后第一次快速点击网址时才会发生这种情况。如果我慢慢开始,它可以正常工作。

我该如何解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

因此,快速解决方法是确保播放器在调用cueVideoById之前就已准备就绪

function loadVideoOnClick(videoId) {
    console.log('Loading');
    if (player && player.cueVideoById) {
        player.cueVideoById(videoId);
    }
}

小提琴:http://jsfiddle.net/leighking2/2b6bu7p4/5/