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

痴迷于非阻塞脚本

  •  6
  • Q_Mlilo  · 技术社区  · 14 年前

    自从我发现了 non-blocking scripts 我已经沉迷于以这种方式加载所有外部脚本。 我甚至砍掉了乔姆拉!为了在index.php文件中加载非阻塞脚本,模板(我知道这是一个糟糕的实践)。下面的示例代码。

    (function() {
        var script = document.createElement('script'),  head = document.getElementsByTagName('head')[0]; 
    
        script.type = 'text/javascript'; 
        script.src = "http://www.mywebsite.com/scripts/one_of_many.js"
        head.appendChild(script);
    })();
    

    我的问题是:

    何时加载非阻塞脚本是好还是坏?

    使用非阻塞脚本的限制是什么?

    2 回复  |  直到 14 年前
        1
  •  1
  •   Alejandro Bologna    14 年前

    您用于非阻塞脚本(附加脚本dom元素)的技术不会在所有浏览器上保持脚本执行顺序,只在firefox和opera上。

    如果您不关心执行顺序,那么可以安全地使用它。

    如果没有,您可以将它与其他一些技术结合起来,如script defer for ie、script in iframe或xhr。

    更多细节 Even Faster Websites

        2
  •  0
  •   AutomatedTester    14 年前

    如果加载的文件很多,即使是非阻塞的,也可以通过将它们放在HTML的末尾,在 </body> 标签,因为浏览器做的事情,他们发现他们在网页上,是如果你加载了相当多。

    这样做很好,但最好是看到合并文件和缩小/阻止以节省更多的时间。另一件显而易见的事情是确保您正在gzip进入浏览器的JS。