script标签异步加载问题

当前html有份文件

<script src="/pages/common/vendor.js?v=20170926"></script>

我需要改成异步加载此标签
但是往下代码很多都依赖于此文件
我应该怎么修改好

var script = document.createElement('script');
    script.type = "text/javascript";
    script.src = url;
    script.async = true;
    document.body.appendChild(script);
阅读 2.9k
2 个回答

加个defer不久行了

function addScript (src, callback) {
    var newScript = document.createElement('script');
    newScript.src = src;
    document.body.appendChild(newScript);
    if(callback){
        newScript.onload = callback;
        newScript.onreadystatechange = function() { 
            var state = newScript.readyState; 
            if (state === 'loaded' || state === 'complete') { 
                newScript.onreadystatechange = null; 
                return callback();
            } 
        }; 
    }
};

//例子
addScript('xxx.js', function () {
    //xxx.js加载完成,开始你的代码
});
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题