diff --git a/cms/templates/base.html b/cms/templates/base.html index 0689cefab4..031006f818 100644 --- a/cms/templates/base.html +++ b/cms/templates/base.html @@ -80,10 +80,15 @@ // externally hosted files "tender": "//edxedge.tenderapp.com/tender_widget", "mathjax": "//edx-static.s3.amazonaws.com/mathjax-MathJax-727332c/MathJax.js?config=TeX-MML-AM_HTMLorMML-full&delayStartupUntil=configured", - // youtube URL does not end in ".js". We add "?noext" to the path so - // that require.js adds the ".js" to the query component of the URL, - // and leaves the path component intact. - "youtube": "//www.youtube.com/player_api?noext" + "youtube": [ + // youtube URL does not end in ".js". We add "?noext" to the path so + // that require.js adds the ".js" to the query component of the URL, + // and leaves the path component intact. + "//www.youtube.com/player_api?noext", + // if youtube fails to load, fallback on a local file + // so that require doesn't fall over + "js/src/youtube_fallback" + ] }, shim: { "gettext": { diff --git a/common/static/js/src/youtube_fallback.js b/common/static/js/src/youtube_fallback.js new file mode 100644 index 0000000000..23cdb12ddf --- /dev/null +++ b/common/static/js/src/youtube_fallback.js @@ -0,0 +1 @@ +console.error("Can't load YouTube -- anything that relies on it will fail");