当我尝试动态加载脚本时,我的问题正在变得异步 当我们尝试在html正文中使用该函数时会导致问题
当我尝试XMLHttpRequest来获取数据时,它是同步的,但没有在浏览器级别缓存。
var jsElm = document.createElement("script"); //getting data async
jsElm.type = "application/javascript";
jsElm.src = file;
document.body.appendChild(jsElm);
var xmlhttp=new XMLHttpRequest();//getting data sync but not cached
xmlhttp.send();
我想知道如何加载同步的脚本以及下次从缓存加载的脚本。
答案 0 :(得分:0)
如果要动态加载脚本并确保在使用脚本之前已将其加载,则可以稍加修改即可同步加载该脚本:https://stackoverflow.com/a/57915593/12031739
通常不赞成使用document.write
。
正如我在帖子的答案中提到的那样,这不是理想的选择,但是它将完成工作。
<script>
document.write(`<script src="${file}"><\/script>`);
</script>
应根据文件和浏览器的缓存指令来缓存文件。