未捕获的ReferenceError:未定义ytcfg(也未定义__ytRIL)

时间:2016-11-16 00:39:46

标签: javascript youtube-iframe-api referenceerror

我几个月来一直在使用YouTube IFrame播放器API,并且最近在播放器加载时开始看到此异常: Uncaught ReferenceError: ytcfg is not defined 检查iframe,我看到成功调用yt.setConfig,但ytcfg.set稍后失败。 API最近有变化吗?任何播放器参数都可能导致此问题?

<script src="//s.ytimg.com/yts/jsbin/www-embed-player-vflnzmqns/www-embed-player.js" type="text/javascript" name="www-embed-player/www-embed-player"></script>
<script src="//s.ytimg.com/yts/jsbin/player-en_US-vflr--npw/base.js" name="player/base"></script>
<script>
    yt.setConfig({
        ...
    });
    writeEmbed();
</script>
<script>
    ytcsi.info('st', 35);
    ytcfg.set({
        "TIMING_ACTION": "",
        "CSI_VIEWPORT": true,
        "TIMING_INFO": {
            "c": "WEB",
            "yt_li": 1,
            "cver": "1.20161112",
            "yt_lt": "cold"
        },
        "CSI_SERVICE_NAME": "youtube"
    });
    ;</script>

此问题存在多种变体:

https://issuetracker.google.com/issues/35178202&#34; ytcfg未定义&#34; https://issuetracker.google.com/issues/35177930&#34; __ ytRIL未定义&#34;

4 个答案:

答案 0 :(得分:47)

看起来这个bug出现在youtube的一边。您可以在此处看到相同的JS错误:https://www.youtube.com/embed/U-xetxYwyak

答案 1 :(得分:28)

这是Google的错误。它也发生在Youtube的开发者页面上。 https://developers.google.com/youtube/youtube_subscribe_button

以下错误会跟踪此问题。

https://code.google.com/p/gdata-issues/issues/detail?id=8569(仍然活跃 - 2017年1月5日)

请使用以下链接对此错误进行投票,以便引起他们的注意。他们自2016年9月9日起就一直坐在上面!!

答案 2 :(得分:6)

当您点击任意视频下的“分享”按钮,然后点击“嵌入”标签复制粘贴嵌入的html代码时,即使在youtube.com上也会发生这种情况。绝对是他们的错。

答案 3 :(得分:2)

我有同样的问题。临时修复使用对象而不是iframe。它对我有用。