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

我一直在使用YouTube IFrame播放器API几个月没有问题,最近开始看到这个exception,当玩家加载: 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“ytcfg未定义” https://issuetracker.google.com/issues/35177930“__ytRIL未定义”

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

以下错误跟踪这个问题。

https://code.google.com/p/gdata-issues/issues/detail?id=8569 (仍处于活动状态 – 截至2017年1月5日)

请使用下面的链接对这个bug进行投票,以便引起他们的注意。 自从2016年9月9日起,他们一直在坐!

它看起来像在YouTube上的错误。 你可以在这里看到相同的JS错误: https : //www.youtube.com/embed/U-xetxYwyak

当您点击任何video下的“分享”button,然后在“embedded”标签复制粘贴embedded的HTML代码时,即使在youtube.com上也会发生这种情况。 肯定是他们的错。

我遇到过同样的问题。 临时修复是使用对象而不是内联框架。 它为我工作。