我正在阅读加载javascript的非阻塞方法。我遇到了一些有趣的概念,特别是对我来说是一个新概念。脚本延迟属性。
我知道动态创建脚本并将它们插入到文档的头部,我有一个函数。
例如:
function loadJS(loc){
var script = document.createElement("script");
script.type = "text/javascript";
script.src = loc
}
我已经看到了这个延迟属性,我不知道如何使用它以及它的主要优点/缺点是什么?
先谢谢你们!
答案 0 :(得分:2)
我一直在寻找类似的答案,并且当我找到this stackoverflow question - 和你的时候即将发布一个问题。
所以这就是我发现的:
defer
将提示提交给浏览器,等待文档加载完毕后再执行脚本。但它仍然首先加载脚本(假设它们位于文档的HEAD中)。.getScript()
方法,可用于随时随地加载任意数量的脚本。您甚至可以将其应用于链接上的onClick
事件!我想这取决于你选择哪种方法,如果你只是在一个小项目上并且已经在使用和/或习惯使用jQuery,那么我会选择它。否则可以查看其中一个库。
再次声明,尽管我可以告诉DEFER
在加载脚本时不会阻止页面阻止。但是,一个典型且非常简单的解决方案是将所有脚本包含在页脚中而不是HEAD中。
如果我上面的任何一个错误,请随时纠正我! - 谢谢