我正在更改要异步加载的外部 javascript 资源以加快页面加载速度。为此,我将async属性添加到我的脚本标签中:
<script async type="text/javascript" src="external.js"></script>
Run Code Online (Sandbox Code Playgroud)
在 body 标签结束之前,我包含了以下代码来执行回调:
if (typeof(myFuncion) === "function") {
myFunction();
} else {
window.onload = myFunction;
}
Run Code Online (Sandbox Code Playgroud)
基本上,如果 external.js 被缓存,当解析器到达此代码时, myFunction 被定义并且它将被执行。如果没有,则在调用 myFunction 之前必须等待所有外部资源可用。因此,myFunction 将等待 AdSense、Analytics,...当它真正只依赖于 external.js 时。
这对我来说没有多大意义。关于如何将 window.onload 替换为加载 external.js 时会触发的内容的任何建议?