【发布时间】:2012-05-27 17:24:47
【问题描述】:
这是来自HTML5 Boilerplate 中的index.html,就在</body> 标记之前:
<!-- JavaScript at the bottom for fast page loading: http://developer.yahoo.com/performance/rules.html#js_bottom -->
<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.7.2.min.js"><\/script>')</script>
<!-- scripts concatenated and minified via build script -->
<script src="js/plugins.js"></script>
<script src="js/main.js"></script>
<!-- end scripts -->
<!-- Asynchronous Google Analytics snippet. Change UA-XXXXX-X to be your site's ID.
mathiasbynens.be/notes/async-analytics-snippet -->
<script>
var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
s.parentNode.insertBefore(g,s)}(document,'script'));
</script>
我知道脚本标签会阻止并行下载,这就是为什么it's recommended to put them at the bottom。
我的问题:浏览器是否真的要等到 jQuery 完全下载并执行后才开始下载plugins.js,然后是script.js?
还是提前开始并尽快(并行)下载所有脚本,然后延迟每个脚本的执行直到前一个脚本完成执行完毕?
【问题讨论】:
标签: javascript html optimization script-tag