SOURCE

/**
 * 加载一个远程脚本
 * @param {String} src 一个远程脚本
 * @param {Function} callback 回调
 */
function loadScript(src, callback=_=>{}){ 
	
	const docTag=window.top.document;
    if(docTag.querySelector(`[src='${src}']`)||docTag.getElementById(src)){
        callback(true);
        return;
    }
	
    const $script = docTag.createElement('script');
    $script.src = src;
    $script.id = src;
    $script.async = 1;
    $script.defer = 1;
    docTag.children[0].appendChild($script);
    if('onload' in $script){
        $script.onload = _ => {
            callback(true)
        };

        $script.onerror = _ => {
            callback(new Error(`Failed to load ${src}`));
        }
        return;
    }
    //ie
    script.onreadystatechange = _ => {
        if(['loaded','complete'].includes(this.readyState)){
            callback(true);
        }else{
            setTimeout(()=>{
                arguments.callee();
            },500);
        }
    };
}

loadScript('https://cdn.ytud.net/assets/plugins/GStarSDK.js',()=>{
    console.log("ok")
});
console 命令行工具 X clear

                    
>
console