0

谷歌页面速度告诉我应该推迟 JavaScript 的解析

我在标题中加载了两个外部 Javascript,并在我的文档底部调用了一个初始化函数。

如果我遵循谷歌的建议,我应该/可以创建一个这样的函数:

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()在我的脚本成功加载和解析之前不会调用它吗?否则,有什么解决办法?

4

2 回答 2

1

通常在文档末尾(''标签之前)包含脚本文件就足够了。

        ...
        <script src="myscript1.js"></script>
        <script src="myscript2.js"></script>
        <script>
            myinitialization();
        </script>
    </body>
</html>

这意味着文档将在开始下载脚本之前加载,但这也意味着您可以保证执行顺序。

于 2013-07-01T19:57:47.587 回答
0

按照费利克斯的说法,答案是否定的。我不能依赖附加代码将在调用之前执行的事实myinitialization();

一种解决方案是将代码包装在一个文件中并使用async.

于 2013-08-05T17:28:54.510 回答