如何确定多个js已动态加载

时间:2018-08-23 03:40:28

标签: javascript dom

这是我的js:

const map = new Map();
jsonData.list.forEach(function (item) {
if (!map.get(item.type)) {
  usedLaterScript = document.createElement('script');
  usedLaterScript.type = 'text/javascript';
  usedLaterScript.src = 'js/component/' + item.type + '.js';
  document.body.appendChild(usedLaterScript);
  map.set(item.type, item.type);
 }
});

jsonData:[{“ type”:“ input”},{“ type”:“ radio”},{“ type”:“ select”}]

我想知道所有js(例如input.js,radio.js,select.js)都加载完之后,接下来我可以做

1 个答案:

答案 0 :(得分:1)

加载动态添加的JS文件可能需要一些时间。这样您就可以将回调函数绑定到脚本标签,如下所示,我在这里动态加载JQuery。

<script>
let usedLaterScript = document.createElement('script');
usedLaterScript.src = 'https://code.jquery.com/jquery-3.3.1.min.js';
document.body.appendChild(usedLaterScript);
usedLaterScript.onload = function() {
  if(allScriptsLoaded) {
    allScriptsLoaded();
  }
}; 

</script>
<script>
  allScriptsLoaded = function() {
  
    console.log("Jquery loaded",$);
  }
</script>