.在用戶沒有與因特網連接時,可以正常訪問站點或應用。
2.在用戶與因特網連接時,更新用戶機器上的緩存文件。
原理:HTML5的離線存儲是基于一個新建的.appcache文件的緩存機制(不是存儲技術),通過這個文件上的解析清單離線存儲資源,這些資源就會像cookie一樣被存儲了下來。之后當網絡在處于離線狀態下時,瀏覽器會通過被離線存儲的數據進行頁面展示。
如何使用:
一、頁面頭部像下面一樣加入一個manifest的屬性;
二、在cache.manifest文件的編寫離線存儲的資源;
CACHE MANIFEST #v0.11 CACHE: js/app.js css/style.css NETWORK: resourse/logo.png FALLBACK: / /offline.html
離線存儲的manifest一般由三個部分組成:
1.CACHE:表示需要離線存儲的資源列表,由于包含manifest文件的頁面將被自動離線存儲,所以不需要把頁面自身也列出來。
2.NETWORK:表示在它下面列出來的資源只有在在線的情況下才能訪問,他們不會被離線存儲,所以在離線情況下無法使用這些資源。不過,如果在CACHE和NETWORK中有一個相同的資源,那么這個資源還是會被離線存儲,也就是說CACHE的優先級更高。
3.FALLBACK:表示如果訪問第一個資源失敗,那么就使用第二個資源來替換他,比如上面這個文件表示的就是如果訪問根目錄下任何一個資源失敗了,那么就去訪問offline.html
三、在離線狀態時,操作window.applicationCache進行需求實現。
著Web App的發展,越來越多的移動端App使用HTML5的方式來開發,除了一些HybridApp以外,其他一部分Web App還是通過瀏覽器來訪問的,通過瀏覽器訪問就需要聯網發送請求,這樣就使得用戶在離線的狀態下無法使用App,同時Web App中一部分資源并不是經常改變,并不需要每次都向服務器發出請求,出于這些原因,HTML5提出的一個新的特性:離線存儲。通過離線存儲,我們可以通過把需要離線存儲在本地的文件列在一個manifest配置文件中,這樣即使在離線的情況下,用戶也可以正常使用App。
首先來講解下離線存儲的使用方法,說起來也很簡單。只要在你的頁面頭部像下面一樣加入一個manifest的屬性就可以了。
<!DOCTYPE HTML> <html manifest = "cache.manifest"> ... </html>
然后cache.manifest文件的書寫方式,就像下面這樣:
CACHE MANIFEST #v0.11 CACHE: js/app.js css/style.css NETWORK: resourse/logo.png FALLBACK: / /offline.html
離線存儲的manifest一般由三個部分組成:
1.CACHE:表示需要離線存儲的資源列表,由于包含manifest文件的頁面將被自動離線存儲,所以不需要把頁面自身也列出來。
2.NETWORK:表示在它下面列出來的資源只有在在線的情況下才能訪問,他們不會被離線存儲,所以在離線情況下無法使用這些資源。不過,如果在CACHE和NETWORK中有一個相同的資源,那么這個資源還是會被離線存儲,也就是說CACHE的優先級更高。
3.FALLBACK:表示如果訪問第一個資源失敗,那么就使用第二個資源來替換他,比如上面這個文件表示的就是如果訪問根目錄下任何一個資源失敗了,那么就去訪問offline.html。
瀏覽器怎么解析manifest
那么瀏覽器是怎么對離線的資源進行管理和加載的呢?這里需要分兩種情況來討論。
這個過程中有幾個問題需要注意。
對于HTML5中離線存儲對象window.applicationCache有幾個事件需要我們關注下:
1.oncached:當離線資源存儲完成之后觸發這個事件
2.onchecking:當瀏覽器對離線存儲資源進行更新檢查的時候會觸發這個事件
3.ondownloading:當瀏覽器開始下載離線資源的時候會觸發這個事件
4.onprogress:當瀏覽器在下載每一個資源的時候會觸發這個事件,每下載一個資源就會觸發一次。
5.onupdateready:當瀏覽器對離線資源更新完成之后會觸發這個事件
6.onnoupdate:當瀏覽器檢查更新之后發現沒有資源更新的時候觸發這個事件
TML 5 是最新的超文本標記語言 (HTML),它是用于描述網頁內容和外觀的標準編程語言。如今,所有主要瀏覽器(Chrome、Safari、Firefox、Opera 和 IE)都提供 HTML5 支持,這使其成為當今使用的最新 HTML 技術。
下面列出了 HTML5 的一些驚人優勢:
1. 跨瀏覽器兼容性
HTML5 易于實現,并且可以與 CSS3 一起使用。今天所有的瀏覽器都支持 HTML5 標簽,甚至 IE6 也能理解標記 <!doctype html> 并且會正確地呈現頁面。
2. 新的 DOCTYPE 聲明:
關于 HTML 5 最重要的事實是 - HTML5 易于實現并且可以與 CSS3 一起使用
HTML5 的 DOCTYPE 聲明非常簡單:
<! DOCTYPE html>
是的,只有“DOCTYPE”和“html”這兩個詞,不再有長行充滿臟標簽的不可讀代碼。
3. 帶來可用性和用戶體驗的改進
可用性和用戶體驗與網站或應用程序的設計程度有關。我們都想要更好的動態網站和美觀的應用程序與用戶交互并允許用戶享受功能、內容等,而不僅僅是看它。HTML5 對 Web 具有多項技術增強和改進功能,并且使用 HTML5 代碼,Web 開發人員可以輕松設計更好的應用程序和動態網站,從而帶來更好的用戶體驗和可用性。
4. 替代 Flash 和 Silver light
HTML5超越Flash和Silver light而領先只是因為播放Flash文件和Silver light需要安裝Adobe Flash最新版本或Silver light插件,還需要注意設備和操作系統的兼容性. HTML 5 并非如此。因此,HTML5 如今在公司中變得越來越流行,因為它提供了大量的屬性和功能,可幫助 Web 開發人員以最少的工作量構建漂亮的網站和應用程序。
5. 大量用于移動應用和游戲
HTML5 在移動應用程序和游戲開發中的適應性隨著 HTML5 Web 應用程序工具在從用戶界面 (UI)、開發、使用腳本等開始的所有情況下為 Web 開發人員提供了更大的靈活性而增加。
HTML5 還能夠處理多媒體內容,而無需安裝插件,我們可以使用該技術輕松開發交互式游戲。
6. 干凈的標記和改進的代碼
HTML5 帶有簡潔的標記和簡潔的代碼,使其比以前的版本更易于訪問。HTML 5 允許 Web 開發人員和 Web 設計人員使用更簡潔的代碼并刪除 div 標簽并將所有 div 標簽替換為新的 HTML 5 元素。
7. 離線瀏覽
HTML5 還提供離線瀏覽功能,這意味著訪問者可以在沒有有效互聯網連接的情況下加載網頁上的某些元素。假設你訪問了該站點,但不知何故你現在沒有連接到互聯網,或者互聯網連接發生故障。使用 HTML5 離線緩存,我們仍然可以加載網站的核心元素,你可以離線查看它們。
8. HTML5 在網站抓取和索引方面對 SEO 友好:
如今,為了在包括谷歌在內的不同搜索引擎中獲得并保持最高排名,必須小心優化網站和所有必要的 SEO 模塊。HTML 5 帶有各種屬性和模塊,使網絡爬蟲可以輕松搜索你的內容并使其正確編入索引,從而提高其在搜索引擎搜索結果頁面中的排名。HTML5 的技術提供了具有廣泛結構元素、語義、表單類型、新屬性和媒體元素的各種功能,使數字營銷專家和開發人員更容易專注于更好的搜索引擎優化技術并推動更多的自然搜索流量。
9. 視頻和音頻支持
借助 HTML5 技術,我們不再需要依賴第三方插件來渲染音頻和視頻。你可以忘記 Flash Player 和其他第三方媒體播放器和插件。你可以使用新的 HTML5 <video> 和 <audio> 標簽輕松訪問你的視頻和音頻。
以前你必須使用舊的 <embed> 和 <object> 標簽并分配大量參數,以顯示視頻可見并正常工作。但是使用 HTML5 的視頻和音頻標簽,我們可以將它們視為圖像; <video src=”url”/>。
我們只需要像任何其他 HTML 元素一樣在單行標簽中定義高度、寬度和自動播放等參數:<video src=”url” width=”800px” height=”500px”autoplay/>。
10. 地理位置支持
在地理定位的幫助下,我們可以輕松地找出我們在世界上的位置,并輕松地與人們分享這些信息。過去,如果我們想首先檢測客戶端設備的位置,我們必須查看客戶端 IP 地址、你的無線網絡連接、手機的基站和緯度和經度。但是對于 HTML5,已經開發了一組 API,它們可以有效地允許客戶端設備(即你的手機、IP 甚至你的桌面瀏覽器)使用你的 HTML5 兼容瀏覽器直接可用的 JavaScript 檢索地理定位信息。
HTML5 改進并增強了瀏覽體驗。那么為什么不為你的網站和移動應用程序采用 HTML 5 呢?
了解更多
*請認真填寫需求信息,我們會在24小時內與您取得聯系。