好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 詳解HTML5中rel屬性的prefetch預加載功能使用

詳解HTML5中rel屬性的prefetch預加載功能使用

熱門標簽:電話機器人如何 電視購物電銷外呼系統 貸款電銷人工和機器人哪個好 杭州營銷電銷機器人供應商 飛亞外呼系統 高德地圖標注賓館位置 西寧智能外呼系統加盟 百應電銷機器人產業 聯通400電話申請

在HTML5中,有個很有用但常被忽略的特性,就是預先加載(prefetch),它的原理是:
利用瀏覽器的空閑時間去先下載用戶指定需要的內容,然后緩存起來,這樣用戶下次加載時,就直接從緩存中取出來,效率就快了.

舉個例子說明:比如要預先加載某個頁面,可以這樣:

XML/HTML Code復制內容到剪貼板
  1. <link rel="prefetch" href="http://www.example.com/"> <!-- Firefox -->    

但如果是google的話,要用另外的一個名稱,即:

XML/HTML Code復制內容到剪貼板
  1. <link rel="prerender" href="http://www.example.com/"> <!-- Chrome -->   

即使在不支持的瀏覽器,用了這個特性其實是不會出錯的,只不過瀏覽器解析不到而已,
所以,如果你感覺能有辦法預先預測到用戶期望點的頁面(比如用戶看最新的受歡迎的熱圖,他 可能看了第一頁后,會繼續看下一頁,這個時候就可以用預先加載這個特性了).比如

XML/HTML Code復制內容到剪貼板
  1. <link rel="prefetch" href="<?php echo get_next_posts_page_link(); ?>">   

而單獨取一張圖片也是可以的,比如:

XML/HTML Code復制內容到剪貼板
  1. <link rel="prefetch" href="/images/test.jpg"/>   

有了瀏覽器緩存,為何還需要預加載?
1.用戶可能是第一次訪問網站,此時還無緩存
2.用戶可能清空了緩存
3.緩存可能已經過期,資源將重新加載
4.用戶訪問的緩存文件可能不是最新的,需要重新加載
5.Chrome 的預加載技術
現在的 chrome 聰明到根據你的瀏覽記錄,預測到你可能訪問或搜索哪些網站,在你打開網站之前就加載好了一些資源了。
舉個栗子,當你在搜索框輸入 "amaz" 時,它猜測到你可能要訪問 amazon.com,可能就幫你加載了這個網站的一些資源。
如果這個預測算法精準的話,就能大大地提高用戶的瀏覽體驗了。

DNS prefetch
我們知道,當我們訪問一個網站如 www.amazon.com 時,需要將這個域名先轉化為對應的 IP 地址,這是一個非常耗時的過程。
DNS prefetch 分析這個頁面需要的資源所在的域名,瀏覽器空閑時提前將這些域名轉化為 IP 地址,真正請求資源時就避免了上述這個過程的時間。

XML/HTML Code復制內容到剪貼板
  1. <meta http-equiv='x-dns-prefetch-control' content='on'>  
  2. <link rel='dns-prefetch' href='http://g-ecx.images-amazon.com'>  
  3. <link rel='dns-prefetch' href='http://z-ecx.images-amazon.com'>  
  4. <link rel='dns-prefetch' href='http://ecx.images-amazon.com'>  
  5. <link rel='dns-prefetch' href='http://completion.amazon.com'>  
  6. <link rel='dns-prefetch' href='http://fls-na.amazon.com'>  

應用場景1:我們的資源存在在不同的 CDN 中,那提前聲明好這些資源的域名,就可以節省請求發生時產生的域名解析的時間。
應用場景2:如果我們知道用戶接下來的操作一定會發起一起資源的請求,那就可以將這個資源進行 DNS-Prefetch,加強用戶體驗。

Resource prefetch
在 Chrome 下,我們可以用 link標簽聲明特定文件的預加載:

XML/HTML Code復制內容到剪貼板
  1. <link rel='subresource' href='critical.js'>  
  2. <link rel='subresource' href='main.css'>  
  3. <link rel='prefetch' href='secondary.js'>  

在 Firefox 中或用 meta 標簽聲明:

XML/HTML Code復制內容到剪貼板
  1. <meta http-equiv="Link" content="<critical.js>; rel=prefetch">  

rel='subresource' 表示當前頁面必須加載的資源,應該放到頁面最頂端先加載,有最高的優先級。
rel='prefetch' 表示當 subresource 所有資源都加載完后,開始預加載這里指定的資源,有最低的優先級。
注意:只有可緩存的資源才進行預加載,否則浪費資源!

Pre render
前面說到的預解析DNS、預加載資源已經夠強悍了有木有,可還有更厲害的預渲染(Pre-rendering)!
預渲染意味著我們提前加載好用戶即將訪問的下一個頁面,否則進行預渲染這個頁面將浪費資源,慎用!

XML/HTML Code復制內容到剪貼板
  1. <link rel='prerender' href='http://www.pagetoprerender.com'>  

rel='prerender' 表示瀏覽器會幫我們渲染但隱藏指定的頁面,一旦我們訪問這個頁面,則秒開了!
在 Firefox 中或用 rel='next' 來聲明

XML/HTML Code復制內容到剪貼板
  1. <link rel="next" href="http://www.pagetoprerender.com">  

不是所有的資源都可以預加載
當資源為以下列表中的資源時,將阻止預渲染操作:
1.URL 中包含下載資源
2.頁面中包含音頻、視頻
3.POST、PUT 和 DELETE 操作的 ajax 請求
4.HTTP 認證(Authentication)
5.HTTPS 頁面
6.含惡意軟件的頁面
7.彈窗頁面
8.占用資源很多的頁面
9.打開了 chrome developer tools 開發工具

手動觸發預渲染操作
在 head 中強勢插入 link[rel='prerender'] 即可:

JavaScript Code復制內容到剪貼板
  1. var hint =document.createElement("link")   
  2. hint.setAttribute(“rel”,”prerender”)   
  3. hint.setAttribute(“href”,”next-page.html”)   
  4. document.getElementsByTagName(“head”)[0].appendChild(hint)  

標簽:牡丹江 安慶 晉中 內蒙古 煙臺 撫州 邯鄲 玉溪

巨人網絡通訊聲明:本文標題《詳解HTML5中rel屬性的prefetch預加載功能使用》,本文關鍵詞  詳解,HTML5,中,rel,屬,性的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《詳解HTML5中rel屬性的prefetch預加載功能使用》相關的同類信息!
  • 本頁收集關于詳解HTML5中rel屬性的prefetch預加載功能使用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 熟女av人妻一区二区三四区| 国产情侣真实露脸在线最新| 岳两女共夫同床| 91免费福利视频| 女人婬乱A片毛片下载| 97久久草草超级碰碰碰| 今夜无人入睡电影在线观看免费| 睡了自己妈妈的多吗| 97伦伦午夜电影理伦片按摩技师| 天天躁日日躁狠狠躁av麻豆男男| 日本大学生xxxx视频| 奴侍妾每日接受调教h| 拍AV被cao翻了H| 免费一级婬片AA片观看| 一本岛一二三e区| 艳史武则天| 一级做a爰片久久毛片唾| 国产精品一级毛片A片骨灰盒| 丰满少妇被粗大的猛烈进出| 美女被撕开胸罩狂揉大乳| 伊人色院成人蜜桃视频| 一边下奶一吃敷面膜视频60分钟 | 国产精品麻豆入口| 日本女人的逼| 佳佳伦影院理片| 国产日韩精品视频一区二区三区| 久久精品国产只有精品66| 在线播放周妍希国产精品| 国产亚洲精品88a动漫在线观看 | 国产午夜激无码毛片不卡十第1集| 日本经典大学生三级| 被侮辱的x被禁锢的| 大尺度肉文| 久久久久精品国产色戒色欲小龙女 | 亚洲乱码一区二区三区国产精品 | 男人边吻奶边挵进去A片视频| 人人插人人费| 日本精品久久久免费高清| 日日干夜夜爱| 美女隐私秘?黄www网站游戏| 91系列在线观看免费|