0

当我尝试动态加载脚本时,我的问题变得异步,当我们尝试在 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();

我想知道如何加载同步和下次从缓存加载的脚本。

4

1 回答 1

0

如果您想动态加载脚本并确保在使用之前加载它,您可以通过一些技巧同步加载它:https ://stackoverflow.com/a/57915593/12031739

的使用document.write通常是不受欢迎的。

正如我在该帖子的答案中提到的那样,它并不理想,但它可以完成工作。

<script>
document.write(`<script src="${file}"><\/script>`);
</script>

该文件应根据文件和浏览器的缓存指令进行缓存。

于 2019-10-15T07:52:30.703 回答