转载请说明出处 http://blog.csdn.net/typename/article/details/38358765 powered by miechal zhao.
背景:
Link Prefetching 是 HTML 5的一个标准, 最早是由Mozilla 发布的一个互联网标准草案,link prefetching 现在是 W3C和WHATWG关于HTML 5中的一部分。网页可以嵌入 prefetching 标记,当浏览器加载完当前页面即结束加载网页,在浏览器闲置的时候会触发prefetching 标记的link,浏览器会在后台静默prefeching指定的documents, 并存储在cache中。 当用户访问到prefetched documents时, cache中的内容会迅速被使用,加速网页展现。
触发Prefetch 语法:
<link rel="prefetch" href="http://www.cmcm.com"> prefetch cmcm </link>
HTTP link 语法:
<meta http-equiv="Link" content="</images/big.jpeg>; rel=prefetch">
浏览器如何Prefetching & Web Developer Prefetching时机:
前面提到过浏览器会在闲置的时机进行prefetching,Firefox在Mosilla1.2中使用nsIWebProgressListener API,我们可以注册顶层的nsIWebProgress 对象,通过这个我们可以接收到document start & stop 通知,我们可以取上次stop的document和下次document start 的近视闲置值作为一段时间间隔. 当onLoad 触发处理顶层document 时基本会触发上一次document stop通知, 这是我们开始prefetch 请求时机。 如果一个subframe 包含prefetching 标记,浏览器prefetching 不会立即开始而是直到top-most frame 及其所有的子frame 完成加载才会被触发。
prefetching 是否适合你的站点取决于yourself.下面有几个建议:
(1).当一些列的页面只是slideshow,加载前后1-3个页面(前提是这些页面并不是大页面)
(2).在整个网站至始至终预加载大多数图片