javascript动态脚本创建vs脚本延迟

时间:2011-05-28 14:57:21

标签: javascript dom dynamic

我正在阅读加载javascript的非阻塞方法。我遇到了一些有趣的概念,特别是对我来说是一个新概念。脚本延迟属性。

我知道动态创建脚本并将它们插入到文档的头部,我有一个函数。

例如:

 function loadJS(loc){
    var script = document.createElement("script");
    script.type = "text/javascript";
    script.src = loc
 }

我已经看到了这个延迟属性,我不知道如何使用它以及它的主要优点/缺点是什么?

先谢谢你们!

1 个答案:

答案 0 :(得分:2)

我一直在寻找类似的答案,并且当我找到this stackoverflow question - 和你的时候即将发布一个问题。

所以这就是我发现的:

  • 脚本defer提示提交给浏览器,等待文档加载完毕后再执行脚本。但它仍然首先加载脚本(假设它们位于文档的HEAD中)。
  • jQuery有一个.getScript()方法,可用于随时随地加载任意数量的脚本。您甚至可以将其应用于链接上的onClick事件!
  • 还有一些图书馆针对动态,非阻止加载,例如LABjsRequireJSHEADjs

我想这取决于你选择哪种方法,如果你只是在一个小项目上并且已经在使用和/或习惯使用jQuery,那么我会选择它。否则可以查看其中一个库。

再次声明,尽管我可以告诉DEFER在加载脚本时不会阻止页面阻止。但是,一个典型且非常简单的解决方案是将所有脚本包含在页脚中而不是HEAD中。


如果我上面的任何一个错误,请随时纠正我! - 谢谢