自从我发现了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);
})();我的问题是:
什么时候加载非阻塞脚本是好的还是不好的?
使用非阻塞脚本的限制应该是多少?
发布于 2010-10-02 05:24:44
用于非阻塞脚本的技术(附加脚本DOM元素)不会在所有浏览器上保持脚本执行顺序,只会在Firefox和Opera上保持执行顺序。
如果你不关心执行顺序,那么你可以安全地使用它。
如果没有,你可以将它与其他一些技术结合起来,比如IE的脚本延迟,iframe中的脚本或XHR。
有关Even Faster Websites的更多详细信息
发布于 2010-10-02 00:00:40
如果你加载了很多文件,甚至是非阻塞的,你可以通过把它们放在</body>标签前面来实现,因为浏览器在页面上找到它们就会做什么,如果你加载了很多文件。
这样做很好,但更好的做法是合并文件和缩小/困扰,以节省更多的时间。另一件显而易见的事情是确保你是GZipping转到浏览器的JS。
https://stackoverflow.com/questions/3839700
复制相似问题