javascript - 添加脚本延迟加载JS
问题描述
我正在尝试在下面的代码中添加更多脚本,这会强制 JS 在页面内容之后加载。我想添加 script2.js、script3.js 等。任何帮助将不胜感激。
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "/home/site/script1.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else
window.onload = downloadJSAtOnload;
解决方案
只需修改您的加载脚本功能,例如:
function downloadJSAtOnload(scripts) {
for (script in scripts) {
let element = document.createElement("script");
element.src = scripts[script];
document.body.appendChild(element);
}
}
let scripts = ["/home/site/script1.js","/home/site/script2.js","/home/site/script3.js"];
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload.bind(downloadJSAtOnload, scripts), false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload.bind(downloadJSAtOnload, scripts));
else window.onload = downloadJSAtOnload.bind(downloadJSAtOnload, scripts);
推荐阅读
- c# - 选项卡视图在 UWP Windows UI 库上无法正常工作
- c++ - 仅当在 Visual Studio C++ MFC 桌面应用程序上使用 64 位 (x64) 构建平台时,链接的 DLL 之间才会出现 LNK 2001 和 LNK 2019 错误
- flutter - 在颤动中使用 path_provider 的路径无效?
- mysql - N对N关系选择
- c# - Discord.Net 机器人回复 - 包含单词
- angular - 对可观察范围的困惑
- python - 删除 plot_trisurf 中的三角剖分
- scala - 如何将单独的函数应用于已知 Shapelss HList 的每个索引
- c++ - 将 Go 二进制文件加载到内存中并从 C++ 运行
- ios - 应用商店连接上的活动选项卡消失了