ajax请求html页面js不执行

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();
    }

 

posted @ 2020-11-18 15:28  littleboyck  阅读(1413)  评论(1编辑  收藏  举报