如何强制立即进行javascript解析/执行

时间:2017-05-25 04:52:22

标签: javascript web browser

以下是www.abc.com/index.html

的大纲
<html>
    <head>
      ..
      ..
    </head>
    <body>
        <script>
            var js1 = document.createElement('script');
            js1.type = "text/javascript";
            js1.async = true;
            js1.src = "cdn/js1.js";
            document.getElementsByTagName('head').appendChild(js1);
            console.log('Start: ' + new Date().getTime());
        </script>
        <img src="img1.jpg">
        <img src="img2.jpg">
        ....
    </body>
</html>

这是js1.js

的内容
console.log('End: ' + new Date().getTime());
var img = new Image();
img.src = "img3.jpg";

var f1 = function() {
..
}

var f2 = function() {
..
}

...

观察结果是,“终结”与“结束”之间存在很大的差异。和&#39;开始&#39;输出。在浏览器网络选项卡中,我发现这是网络请求的顺序:

  1. js1.js
  2. img1.jpg
  3. img2.jpg
  4. img3.jpg
  5. 问题是 - 为什么脚本开始执行需要这么长时间?我尝试从页面中删除其他图像,这会使脚本执行得更快。为什么在脚本执行之前执行其他请求(我发现即使同步调用也会发生这种情况)?有没有办法让页面在页面的其余部分之前完全执行?

0 个答案:

没有答案