我几个月来一直在使用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;
答案 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。它对我有用。