evalScripts(text){
let script
, regexp = /<script(?:\s+src=('|")([\w.-/]+?)\1)?\s*>\s*([\s\S]*?)\s*<\/script>/gi
, head = document.querySelectorAll('head')[0]
, createScript = function(src,callback){
let node = document.createElement('script');
node.type = 'text/javascript';
node.onload = node.onreadystatechange = function() {
if(!/*@cc_on!@*/0 || this.readyState === 'loaded' || this.readyState === 'complete') {
this.onload = this.onreadystatechange = null;
this.parentNode.removeChild(this);
typeof callback == 'function' && callback()
}
}
node.src = src;
return node;
}
,serializeScript = function(){
script = regexp.exec(text);
if(!script){return}
if(script[2]){
let node = createScript(script[2],function(){
serializeScript(text)
})
head.appendChild(node)
}else{
window.execScript ? execScript(script[3]) : eval(script[3])
serializeScript(text)
}
}
serializeScript();
}