Google网页速度告诉我应该Defer parsing of JavaScript。
我在标题中加载了两个外部Javascripts,并在文档底部调用了一个初始化函数。
如果我遵循Google的建议,我应该/可以创建这样的功能:
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "myscript1.js";
document.body.appendChild(element);
element = document.createElement("script");
element.src = "myscript2.js";
document.body.appendChild(element);
myinitialization();
}
在成功加载和解析脚本之前,我是否可以100%确定不会调用myinitialization()
?否则,解决方案是什么?
答案 0 :(得分:1)
通常在文档末尾(在''标记之前)包含脚本文件就足够了。
...
<script src="myscript1.js"></script>
<script src="myscript2.js"></script>
<script>
myinitialization();
</script>
</body>
</html>
这意味着文档将在脚本开始下载之前加载,但这也意味着您保证执行顺序。
答案 1 :(得分:0)
根据菲利克斯,答案是否定的。我不能依赖于在调用myinitialization();
之前执行附加代码的事实。
解决方案是将代码封装在一个文件中并使用async
。