因为我发现non-blocking scripts的概念,我已经开始着迷于以这种方式加载我所有的外部脚本。 我甚至砍了Joomla!模板(我知道这是一个不好的做法),以便在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);
})();
我的问题是:
何时加载非阻塞脚本是好还是坏?
使用非阻塞脚本的限制是什么?
答案 0 :(得分:1)
您用于非阻塞脚本(附加脚本DOM元素)的技术不会在所有浏览器上保留脚本执行顺序,仅限于Firefox和Opera。
如果您不关心执行顺序,那么您可以安全地使用它。
如果没有,您可以将其与其他一些技术结合使用,例如IE的脚本延迟,iframe中的脚本或XHR。
的更多详情答案 1 :(得分:0)
如果您正在加载大量文件,即使是非阻塞文件,只需将它们放在</body>
标记之前的html即可实现,因为浏览器会在页面上找到它们时执行操作,如果你加载了不少。
这样做很有好处,但最好还是看看合并文件和缩小/阻碍,以便将更多的时间剃掉。另一个显而易见的事情是确保你正在GZipping JS到浏览器。