javascript - 如何判断多个js已经动态加载
问题描述
这是我的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)何时加载,然后我可以做下一步
解决方案
加载动态添加的 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>
推荐阅读
- ios - 如何在不破坏功能的情况下控制情节提要中的 AVPlayer 子视图
- html - 来自数据库的 HTML 段落对齐格式问题
- python - 布局中缺少散景图
- meteor - Nativescript-vue + Meteorjs 后端
- haskell - 在 Haskell 中重构高阶函数以避免通过多个函数传递运算符
- r - Leaflet AddCircleMarkers 设置为取消选择,直到用户选择 - R SHINY
- android - Robolectric,如何断言活动已创建并且没有异常
- c - makefile 多重定义错误
- vb.net - 如何在 VB.net 中进行三元语句
- c++ - 用OpenGL画一条任意线(即轴范围没有限制)