JSFiddle - React, Tailwind, and code Playground

by Kai

JavaScript

var ka = (function (document) {
    var _head = document.getElementsByTagName('head')[0],
        _reusable_script_ele = document.createElement('script'),
        _reusable_iframe_ele = document.createElement('iframe'),        
        _default_host = 'http://www.khanacademy.org/api/v1/',
        _callback;
    
    
    function _jsonp (url) {
        var script = _reusable_script_ele.cloneNode(false);
        script.src = url;
        _head.appendChild(script);
    }

    
    function _api (endpoint, callback) {
        var url = _default_host + endpoint.replace(/^\/+/, '') + '?callback=ka.callback';
        _callback = callback;
        _jsonp(url);
    }

        
    function _embed (youtube_url, ele) {
        ele = (typeof ele === 'string') ? document.getElementById('ele') : ele;
        var iframe = _reusable_iframe_ele.cloneNode(false);
        iframe.src = youtube_url;
        ele.appendChild(iframe);       
    }

          
    return {
        api: _api,
        callback: function (res) { 
            _callback(res);
        }        
    };
}(document));

ka.api('playlists', function (res) { console.log(res); });