HTML5 預加載讓頁面得以快速呈現(xiàn)
發(fā)布時間:2013-08-13 15:35:34 作者:佚名
我要評論

預加載是一種瀏覽器機制,使用瀏覽器空閑時間來預先下載/加載用戶接下來很可能會瀏覽的頁面/資源,當用戶訪問某個預加載的鏈接時,如果從緩存命中,頁面就得以快速呈現(xiàn)
瀏覽器廠商和開發(fā)者之間共同努力的一個方向就是讓網(wǎng)站更快?,F(xiàn)在已有很多廣為人知的加速解決方案:CSS sprites(CSS精靈,拼圖)以及圖像優(yōu)化,分布式配置文件(.htaccess),JS/文本文件壓縮,CDN加速等。
我在另一篇博文中介紹了 如何讓網(wǎng)站更快。
FireFox推介一種新的網(wǎng)站加速策略: 鏈接預加載。什么是鏈接預加載?MDN描述如下:
預加載是一種瀏覽器機制,使用瀏覽器空閑時間來預先下載/加載用戶接下來很可能會瀏覽的頁面/資源。頁面提供給瀏覽器需要預加載的集合。瀏覽器載入當前頁面完成后,將會在后臺下載需要預加載的頁面并添加到緩存中。當用戶訪問某個預加載的鏈接時,如果從緩存命中,頁面就得以快速呈現(xiàn)。
簡單概述:網(wǎng)站根據(jù)用戶分析,讓瀏覽器后臺下載指定頁面/文檔/圖片,實現(xiàn)起來超easy:
HTML5預加載標簽
<!-- 頁面,可以使用絕對或者相對路徑 -->
<link rel="prefetch" href="page2.html" />
<!-- 圖片,也可以是其他類型的文件 -->
<link rel="prefetch" href="sprite.png" />
從上面的HTML代碼可以看出,預加載使用 <link> 標簽,并指定 rel="prefetch" 屬性,而href屬性就是需要預加載的文件路徑。而Mozilla還實現(xiàn)了一些類似的 link rel 屬性:
<link rel="prefetch alternate stylesheet" title="Designed for Mozilla" href="mozspecific.css" />
<link rel="next" href="2.html" />
備注: https 協(xié)議也同樣支持。
何時需要預加載
網(wǎng)站是否采用預加載取決于你的需求,下面是一些建議:
- 如果一系列的頁面幻燈片一樣展示,那么可以預加載前后各1至3個頁面.
- 加載網(wǎng)站內(nèi)部通用的圖片
- 在搜索結(jié)果頁預加載下一頁
阻止預加載
Firefox 允許禁止預加載模式,代碼如下:
user_pref("network.prefetch-next", false);
注意事項
關于鏈接預加載,有如下注意事項:
- 預加載可以跨域進行,當然,請求時cookie等信息也會被發(fā)送。
- 預加載可能破壞網(wǎng)站統(tǒng)計數(shù)據(jù),而用戶并沒有實際訪問。
- Mozilla Firefox 是目前唯一支持預加載模式的瀏覽器,(2003-2010)
你怎么認為呢?使用空閑時間下載額外的文件屬于一種激進的優(yōu)化
我在另一篇博文中介紹了 如何讓網(wǎng)站更快。
FireFox推介一種新的網(wǎng)站加速策略: 鏈接預加載。什么是鏈接預加載?MDN描述如下:
預加載是一種瀏覽器機制,使用瀏覽器空閑時間來預先下載/加載用戶接下來很可能會瀏覽的頁面/資源。頁面提供給瀏覽器需要預加載的集合。瀏覽器載入當前頁面完成后,將會在后臺下載需要預加載的頁面并添加到緩存中。當用戶訪問某個預加載的鏈接時,如果從緩存命中,頁面就得以快速呈現(xiàn)。
簡單概述:網(wǎng)站根據(jù)用戶分析,讓瀏覽器后臺下載指定頁面/文檔/圖片,實現(xiàn)起來超easy:
HTML5預加載標簽
復制代碼
代碼如下:<!-- 頁面,可以使用絕對或者相對路徑 -->
<link rel="prefetch" href="page2.html" />
<!-- 圖片,也可以是其他類型的文件 -->
<link rel="prefetch" href="sprite.png" />
從上面的HTML代碼可以看出,預加載使用 <link> 標簽,并指定 rel="prefetch" 屬性,而href屬性就是需要預加載的文件路徑。而Mozilla還實現(xiàn)了一些類似的 link rel 屬性:
復制代碼
代碼如下:<link rel="prefetch alternate stylesheet" title="Designed for Mozilla" href="mozspecific.css" />
<link rel="next" href="2.html" />
備注: https 協(xié)議也同樣支持。
何時需要預加載
網(wǎng)站是否采用預加載取決于你的需求,下面是一些建議:
- 如果一系列的頁面幻燈片一樣展示,那么可以預加載前后各1至3個頁面.
- 加載網(wǎng)站內(nèi)部通用的圖片
- 在搜索結(jié)果頁預加載下一頁
阻止預加載
Firefox 允許禁止預加載模式,代碼如下:
復制代碼
代碼如下:user_pref("network.prefetch-next", false);
注意事項
關于鏈接預加載,有如下注意事項:
- 預加載可以跨域進行,當然,請求時cookie等信息也會被發(fā)送。
- 預加載可能破壞網(wǎng)站統(tǒng)計數(shù)據(jù),而用戶并沒有實際訪問。
- Mozilla Firefox 是目前唯一支持預加載模式的瀏覽器,(2003-2010)
你怎么認為呢?使用空閑時間下載額外的文件屬于一種激進的優(yōu)化
相關文章
html5 canvas實現(xiàn)的酷炫頁面預加載動畫圖標效果源碼
這是一款基于html5 canvas實現(xiàn)的酷炫頁面預加載動畫圖標效果源碼。有多種預加載動畫效果可供選擇,動畫漸變效果平滑自然2016-04-13- 這篇文章主要介紹了利用簡潔的圖片預加載組件提升html5移動頁面的用戶體驗 的相關資料,需要的朋友可以參考下2016-03-11
- 這是一款基于html5實現(xiàn)的頁面滾動圖片動畫加載特效源碼。頁面上下滾動的時候圖片可呈現(xiàn)動態(tài)加載效果,有常規(guī)漸顯效果及3D翻轉(zhuǎn)顯示兩種顯示效果供選擇2016-01-27
- 瀏覽器加載和渲染html的順序、如何加快HTML頁面加載速度、HTML頁面加載和解析流程等等,在本文將為大家詳細介紹下,感興趣的朋友不要錯過2013-10-08
- 本文給大家分享了html提高頁面加載速度的方法,非常不錯具有參考借鑒加載,需要的朋友參考下2017-02-06