代码之家  ›  专栏  ›  技术社区  ›  Q_Mlilo

使用非阻塞脚本

  •  1
  • Q_Mlilo  · 技术社区  · 15 年前

    我使用JavaScript的次数越多,我就越想找到加载和执行脚本的有效方法。 我发现一种非常有用的方法是不阻塞地加载javascript。

    function include_js(url) { 
        var script = document.createElement("script");
        script.type = "text/javascript";
        script.src = url;
        document.getElementsByTagName("head")[0].appendChild(script);
    }
    
    include_js('script.js');
    

    window.onload = function() {
     alert('Script executed onload');
    };
    

    我想知道的是,浏览器如何处理window.onload文件方法,是阻塞脚本还是非阻塞脚本?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Justin Johnson    15 年前

    我想知道的是 浏览器处理由执行的脚本 window.onload文件方法,是阻塞吗 还是非阻塞脚本?

    看到了吗 this article about how timers work 更好地了解异步方法在单线程环境中的行为。

    让JavaScript代码与其他JavaScript代码并行执行的唯一方法是使用 web workers ,它实际上使用一个单独的线程。

        2
  •  1
  •   Darin Dimitrov    15 年前

    它是非阻塞的。您只需将一个变量赋给一个函数,其他脚本就可以继续执行。加载DOM后,将调用分配的回调。