Search code examples
javascriptyoutube-iframe-apireferenceerror

Uncaught ReferenceError: ytcfg is not defined (also __ytRIL is not defined)


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"


Solution

  • This is a Google bug. It also happens on Youtube's developer page. https://developers.google.com/youtube/youtube_subscribe_button

    The following bugs tracks this issue.

    https://code.google.com/p/gdata-issues/issues/detail?id=8569 (Still active -as of Jan 5h 2017)

    Please up vote on this bug using the links below so that it gets their attention. They have been sitting on it since Sep 9, 2016!!.