国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > HTML5 > 正文

三個 HTML5 不常見特性簡介

2024-09-05 07:11:26
字體:
來源:轉載
供稿:網友

都已經到了 2014 年了,再來說 HTML5 的新特性,實在是夠晚了,不過 Denis 說的好,即便再爛的文章,只要不誤導,有總比沒有強(不是原話,我潤色了一下~)。

DNS 預解析緩存

眾所周知,解析 DNS 是網站性能優化的比較重要的一部分,雖然加載時間不太長,但是很難壓縮起來。特別是為了并發下載資源而使用多個 CDN 域名來加載資源的大型網站,更不可忽視,每加載資源之前都要先進行 CDN 域名的 DNS 解析轉換。

如果采用 DNS 預加載,支持該功能的瀏覽器就會提前對該域名進行 DNS 解析并且緩存一下,而不會在需要請求資源再進行解析。而且這個功能應用實在是太簡單:

<link rel="dns-prefetch" href="http://cdn.staticfile.org/"><link rel="dns-prefetch" href="//www.google-analytics.com">

具體之前草草翻譯過一篇文章,有興趣可以大體略過:使用預加載提速你的網站

資源預加載

資源預加載有很多辦法,例如常見的圖片預加載,有采用 CSS 的背景圖片來預加載,大部分還是用 JS。目前 HTML5 提供了專門的資源預加載方法,有兩個屬性:prefetch(預讀取)和 prerender(預渲染),分別被 Firefox 和 Chrome 瀏覽器支持。

prefetch 預讀取

預讀取就是很常見的資源預加載,當前頁面加載完成之后,就會在后面偷偷的下載你指定的資源,一般是 JS 、CSS 和 圖片 這類的,也可以下載頁面:

<link rel="prefetch" href="http://yujiangshui.com/" /><link rel="prefetch" href="http://yujiangshui.com/wp-content/themes/jiangshui/images/avatar.jpg" /><link rel="prefetch alternate stylesheet" href="mozspecific.css" />

目前 Firefox 瀏覽器支持這個功能,詳情請看:Link prefetching FAQ。

prerender 預渲染

這個更厲害了,不僅偷偷的提前下載,而且還給你渲染出來,當用戶點擊鏈接的時候,立刻給你展現出來。

<link rel="prerender" href="http://yujiangshui.com/" />

目前 Chrome 支持這個功能,詳情請看:Web Developer’s Guide to Prerendering in Chrome。

搜素引擎其實是最需要這種預讀取的功能的,因為他們非常確定用戶下一步要打開的頁面(搜索結果頁面),所以當用戶輸入搜索內容的時候,就可以提前把搜索結果頁面的資源提前加載,而且應用之后,效果十分明顯。

目前兼容性是個缺點,貌似只有 Chrome 和 Firefox 支持,而且用的 rel 屬性是不同的,如果你想同時兼容兩個瀏覽器,可以寫成下面這樣:

<link rel="prefetch prerender" href="http://yujiangshui.com" >

此外,當然為了安全沒法跨域預加載資源,可能沒法用 CDN 了。

Download 屬性

HTML5 的 Download 屬性用來強制瀏覽器下載對應文件,而不是打開。Chrome 和 Firefox 等瀏覽器太過于強大,也許是為了增強用戶體驗,當用戶點擊的資源文件可以被它們識別的時候(例如 pdf 會直接在瀏覽器打開,mp3、mp4 等媒體直接用瀏覽器內置播放器播放)。但有時候,用戶其實是希望直接下載而不是在瀏覽器上看看,這時就可以加上這個屬性,屬性值會對下載的文件重命名:

<a href="downloadpdf.php" download="download.pdf">點擊直接下載并保存成 download.pdf 文件</a>

你可以點擊下面兩個鏈接試下看:沒有加 download 屬性的常規 pdf URL | 加 download 屬性的常規 pdf URL(保存成 Ecma-262.pdf)

如果你確定這個資源是用戶肯定會下載的,就可以加上這個屬性,還可以用 JS 或者手動改變想要保存的文件名。

資料擴展

HTML5 還有很多其他特性,但是看了很長時間書和各種資料,很少見到上面三個又比較實用的屬性,拿出來分享一下。關于本文提到的幾點,有興趣深入的可以看一下:

  1. Web Developer’s Guide to Prerendering in Chrome
  2. Link prefetching FAQ
  3. HTML5 Link Prefetching
  4. HTML5 PREFETCH
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绵阳市| 兴业县| 玉溪市| 游戏| 家居| 永顺县| 平舆县| 肃宁县| 荣昌县| 通江县| 嘉定区| 宁远县| 班玛县| 文安县| 且末县| 乌拉特中旗| 柞水县| 凤阳县| 宁城县| 永清县| 绿春县| 吉木萨尔县| 乌拉特中旗| 滕州市| 邢台市| 钦州市| 方山县| 西林县| 宜州市| 梁河县| 浪卡子县| 北票市| 余干县| 大竹县| 灵川县| 栖霞市| 茂名市| 公主岭市| 平利县| 江山市| 南雄市|