I have been using the YouTube IFrame Player API without problem for months and started to see this exception recently when the player loads:
Uncaught ReferenceError: ytcfg is not defined
Inspecting the iframe, I see a successful call to yt.setConfig
, but ytcfg.set
fails later. Was the API changed recently? Any player parameter could cause this problem?
<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>
There several variations of this issue:
https://issuetracker.google.com/issues/35178202 "ytcfg is not defined" https://issuetracker.google.com/issues/35177930 "__ytRIL is not defined"
It looks like the bug is on youtube's side. You can see the same JS error here: https://www.youtube.com/embed/U-xetxYwyak