草草的看完第一章,虽然看的是译文也是感受涨姿式了,javascript
我来总结一下:java
因为 大多数浏览器都是 single process 处理 ui updatas and js execute浏览器
因而产生问题: js (script tag) will blocking page processing less
上图说话:ui
因而你们动脑筋想办法rest
想到了三个办法xml
一、 Parallel downloads, then execute 并行下载,而后执行。blog
二、Download times less,Less download file 少次少许 (精缩)事件
三、动态添加脚本,注入脚本(使用xmlhttprequest)。ip
其余:
defer eg:<script type="text/javascript" src="file1.js" defer></script>
对应的 JavaScript 文件将在<script>被解析
时启动下载,但代码不会被执行,直到 DOM 加载完成(在 onload 事件句柄被调用以前)
把js引用放在 </body>上面(不少人知道但不懂为何)
缘由:在 head 里 你会看到 阻塞全在白页上了
在下面阻塞的时候好歹页面上有点东西了 哈哈好简单~ 将脚本放在底部是定律
最后
果真最爽的仍是把别人造好的轮子拿来用:
一、 YUI3 二、The LazyLoad library 三、The LABjs library 第二和第三个看着很爽的样子 第三个比较推荐。
并且能够体验一把链式结构的爽快写法。
eg:
<script type="text/javascript" src="lab.js"></script> <script type="text/javascript"> $LAB.script("first-file.js").wait() //这个wait 是保证 js被执行(注意:不是被彻底下载,下载是并行的)的前后顺序 .script("the-rest.js") .wait(function(){ Application.init(); }); </script>