位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > HTML > 問(wèn)題詳情

HTML5 mannifest 文件

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-11-17

    Web應(yīng)用程序的本地緩存,是通過(guò)每個(gè)頁(yè)面的manifest文件來(lái)管理的。manifest文件是一個(gè)簡(jiǎn)單文本文件,它以清單的形式列舉了需要被緩存或不需要被緩存的資源文件的文件名稱,以及這些資源文件的訪問(wèn)路徑??梢詾槊恳粋€(gè)頁(yè)面單獨(dú)指定一個(gè)mainifest文件,也可以為整個(gè)Web應(yīng)用程序指定一個(gè)總的manifest文件,manifest文件示例如下:

    CACHE MANIFEST

    #文件的開(kāi)頭必須書(shū)CACHE MANIFEST 

    #該manifest文件的版本號(hào) 

    #version 7

    CACHE: 

    other.html 

    hello.js

    images/myphoto.jpg 

    NETWORK:

    http://google.com/xxx 

    Not0ffline.jsp

    *

    FALLBACK:

    online.js locale.js 

    CACHE:

    newhello.html 

    newhello.js

    在manifest文件中,第一行必須是CACHE MANIFEST文字,以把本文件的作用告知瀏覽器,即對(duì)本地緩存中的資源文件進(jìn)行具體設(shè)置。同時(shí),真正運(yùn)行或測(cè)試離線Web應(yīng)用程序的時(shí)候,需要對(duì)服務(wù)器進(jìn)行配置,讓服務(wù)器支持text/cache-manifest這個(gè)MIME類(lèi)型(在HTML5中規(guī)定manifest文件的 MIME 類(lèi)型為text/cache-manifest)。

    在manifest文件中,可以加上注釋來(lái)進(jìn)行一些必要的說(shuō)明或解釋,注釋行以“#”開(kāi)始。文件中可以且最好加上版本號(hào),以表示該manifest文件的版本。版本號(hào)可以是任何形式的,更新文件時(shí)一般也會(huì)對(duì)該版本號(hào)進(jìn)行更新。

    指定資源文件時(shí),文件路徑可以是拒對(duì)路徑,也可以是絕對(duì)路徑,每個(gè)資源文件為一行。在指定資源文件的時(shí)候,可以把資源文件分為三類(lèi),分別是CACHE、NETWORK和FALLBACK:

    ? CACHE類(lèi)別中指定需要被緩存在本地的資源文件。為某個(gè)頁(yè)面指定需要本地緩存的資源文件時(shí),不需要把這個(gè)頁(yè)面本身指定在CACHE類(lèi)型中。因?yàn)槿绻粋€(gè)頁(yè)面具有manifest文件,瀏覽器會(huì)自動(dòng)對(duì)這個(gè)頁(yè)面進(jìn)行本地緩存。

    ? NETWORK類(lèi)別為顯式指定不進(jìn)行本地緩存的資源文件,這些資源文件只有當(dāng)客戶端與服務(wù)器端建立連接的時(shí)候才能訪問(wèn)。該示例中的“*”為通配符,表示沒(méi)有在本manifest文件中指定的資源文件都不進(jìn)行本地緩存。

    ? FALLBACK類(lèi)別中指定兩個(gè)資源文件,第一個(gè)資源文件是能夠在線訪問(wèn)時(shí)使用的資源文件,第二個(gè)資源文件是不能在線訪問(wèn)時(shí)使用的備用資源文件。

    每個(gè)類(lèi)別都是可選的。但是如果文件開(kāi)頭沒(méi)有指定類(lèi)別,而直接書(shū)寫(xiě)資源文件,此時(shí)瀏覽器把這些資源文件視為CACHE類(lèi)別,直到看見(jiàn)文件中第一個(gè)被書(shū)寫(xiě)出來(lái)的類(lèi)別為止,并且允許在同一個(gè)manifest文件中重復(fù)書(shū)寫(xiě)同一類(lèi)別。

    為了讓瀏覽器能夠正常閱讀該文本文件,需要在Web應(yīng)用程序頁(yè)面上的HTML元素的manifest屬性中指定manifest文件的URL地址,指定方法如下:

    <!-- 可以為每個(gè)頁(yè)面單獨(dú)指定一個(gè)manifest文件 -->

    <html manifest="hello.manifest">

    </html>

    <!-- 也可以為整個(gè)Web應(yīng)用程序指定一個(gè)總的manifest文件 -->

    <html manifest="global.manifest">

    </html>

    至此,將資源文件保存到本地緩存區(qū)的基本操作就完成了。在對(duì)本地緩存區(qū)的內(nèi)容進(jìn)行修改時(shí),只要修改manifest文件就可以了。當(dāng)文件被修改后,瀏覽器可以自動(dòng)檢查manifest文件,并自動(dòng)更新本地緩存區(qū)中的內(nèi)容。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部