JavaScript中异步加载js的三种方案
- defer,异步加载,但要等dom文档全部解析完(dom树生成)才会被执行。只有IE能用;
- async,异步加载,加载完就执行;async只能加载外部脚本,不能把js写在script标签里。ie9以上可以用,w3c标准;
动态创建script,插入到DOM中,加载完毕后callBack,可以按需加载,很方便;
function jsonp({ url, cb}) {
return new Promise((resolve, reject) => {window[cb] = function (data) { // 声明全局变量
resolve(data)
document.body.removeChild(script)
}
let script = document.createElement('script')
script.src = url;
document.body.appendChild(script)
})
}
还没有评论,来说两句吧...