动态创建的script中的代码在是在什么时候被塞入主线程执行的

我想知道在spa已经加载的情况下,动态创建了一个script,里面包含一段代码,由于我想在代码中使用script中执行的结果,我需要弄清楚动态创建的script中的代码是在哪一个阶段被塞进主线程执行的,

阅读 1.4k
2 个回答

同步

var script = document.createElement("script");
script.innerHTML = 'console.log(1);'
document.body.appendChild(script);
console.log(2);
// 1 2

异步

var script = document.createElement("script");
script.src = 'xxx.js';//这时加载是异步的
document.body.appendChild(script);
script.onload = function() {//script 加载完成
    console.log('script load');
}

可以监听onload事件,加载并执行完成后调用。

var newScript = document.createElement('script')
newScript.src = 'xxx.js'
document.body.appendChild(newScript)
newScript.onload = function() {
   // 加载并执行完成后调用
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题