真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

html5的離線緩存,HTML5的離線儲存

html5新增了離線緩存機制這說法對嗎

這個不算是 新增吧。

在湘東等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站建設(shè)、成都做網(wǎng)站 網(wǎng)站設(shè)計制作按需設(shè)計網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站建設(shè),湘東網(wǎng)站建設(shè)費用合理。

隨著現(xiàn)代瀏覽器的推動,F(xiàn)lash放棄對移動端的支持,HTML5無疑成為當(dāng)前Web前端炙手可熱的話題。各大游戲開發(fā)商、App開發(fā)商紛紛投入人力進行研究和技術(shù)儲備。相信不久的將來,HTML5會迎來一個快速發(fā)展和普及的春天。那么,HTML5這個新一代的標(biāo)準(zhǔn),又給我們帶來哪些緩存機制呢?

HTML5 之離線應(yīng)用Manifest

我們知道,使用傳統(tǒng)的技術(shù),就算是對站點的資源都實施了比較好的緩存策略,但是在斷網(wǎng)的情況下,是無法訪問的,因為入口的HTML頁面我們一般運維的考慮,不會對其進行緩存。HTML5的Cache Mainifest離線應(yīng)用特性就能夠幫助我們構(gòu)建離線也能使用的站點,所有的資源都使用瀏覽器本地緩存,當(dāng)然前提是要求在聯(lián)網(wǎng)的情形下使用過一次站點。

如何實現(xiàn)離線訪問特性

實現(xiàn)的步驟非常簡單,主要3個步驟:

1)在服務(wù)器上添加MIME TYPE支,讓服務(wù)器能夠識別manifest后綴的文件

AddType text/cache-manifest manifest

2)創(chuàng)建一個后綴名為.manifest的文件,把需要緩存的文件按格式寫在里面,并用注釋行標(biāo)注版本

CACHE MANIFEST

# 直接緩存的文件

CACHE:

Path/to/cache.js

# version:2012-03-20

3)給 html 標(biāo)簽加 manifest 屬性,并引用manifest文件

具體可以參考:HTML5 緩存: cache manifest

html manifest=”path/to/name-of.manifest”

離線應(yīng)用訪問及更新流程

第一次訪問離線應(yīng)用的入口頁HTML(引用了manifest文件),正常發(fā)送請求,獲取manifest文件并在本地緩存,陸續(xù)拉取manifest中的需要緩存的文件

再次訪問時,無法在線離線與否,都會直接從緩存中獲取入口頁HTML和其他緩存的文件進行展示。如果此時在線,瀏覽器會發(fā)送請求到服務(wù)器請求manifest文件,并與第一次訪問的副本進行比對,如果發(fā)現(xiàn)版本不一致,會陸續(xù)發(fā)送請求重新拉取入口文件HTML和需要緩存的文件并更新本地緩存副本

之后的訪問重復(fù)第2步的行為

離線機制的緩存用途

從Manifest的機制來看,即使我們不是為了創(chuàng)建離線應(yīng)用,也同樣可以使用這種機制用于緩存文件,可以說是給Web緩存提供多一種可以選擇的途徑。

存在的問題:緩存文件更新控制不靈活

就目前HTML5提供的manifest機制來講,一個頁面只能引用一個manifest頁面,而且一旦發(fā)現(xiàn)這個manifest改變了,就會把里面所有定義的緩存文件全部重新拉取一遍,不管實際上有沒有更新,控制比較不靈活。針對這個問題,也有的同學(xué)提出了一些建議,比如把需要緩存的文件分模塊切分到不同manifest中,并分開用HTML引用,再使用強大的iframe嵌入到入口頁面,這樣就當(dāng)某一個模式需要有更新,不會導(dǎo)致其他模塊的文件也重新拉取一遍。

HTML5 之本地存儲localstorage

HTML5給我們提供本地存儲localstorage特性,嚴(yán)格來講,其實已經(jīng)不算傳統(tǒng)Web緩存的范疇。因為它存儲的地方是跟Web緩存分開的,是瀏覽器重新開辟的一個地方。

localstorage的作用

本地存儲localstorage的作用主要使Web頁面能夠通過瀏覽器提供的set/get接口,存儲一些自定義的信息到本地硬盤,并且在單次訪問或以后的訪問過程中隨時獲取或修改。

Localstorage的使用

Localstorage提供了幾個非常易用的Api,setItem/getItem/removeItem/clear,具體的可以參考:Html5 Step by Step(二) 本地存儲

Localstorage的緩存用途

Localstorage設(shè)計的本意可能是用來存儲一些用戶操作的個性化設(shè)置的文本類型的信息和數(shù)據(jù),當(dāng)我們其實也可能拿來當(dāng)Web緩存區(qū)使用,比如我們可以將Base64格式編碼的圖片信息,存在localstorage中,再次訪問時,直接本地獲取后,使用Css3的Data:image的方式直接展現(xiàn)出來。

存在的問題:大小限制

按照目前標(biāo)準(zhǔn),目前瀏覽器只給每個獨立的域名提供5m的存儲空間,當(dāng)存儲超過5m,瀏覽器就會彈出警告框。

可以說,HTML5的Manifest和localstorage是給我們在考慮Web緩存的時候提供了多一種思路,當(dāng)你開發(fā)的應(yīng)用只面對現(xiàn)代瀏覽器的時候,不妨可以考慮一下

html5離線存儲緩存列表可以動態(tài)生成嗎

html5離線存儲緩存列表可以動態(tài)生成

最簡單來說,一個離線網(wǎng)絡(luò)應(yīng)用程序就是一個URL的列表——HTML,CSS,JavaScript,圖片,或者其他類型的資源。離線網(wǎng)絡(luò)應(yīng)用程序的主要指向一個叫做名單文件并用于定位網(wǎng)絡(luò)服務(wù)器上的資源列表。用于執(zhí)行HTML5離線以用程序的網(wǎng)絡(luò)瀏覽器將從名單文件中讀取URL列表,下載這些資源,將他們在本地緩存,并自動在這些本地副本改變時保持他們更新。當(dāng)你嘗試在沒有網(wǎng)絡(luò)連接時訪問網(wǎng)絡(luò)應(yīng)用程序,你的網(wǎng)絡(luò)瀏覽器將自動切換并使用本地代替。

最新的主流的瀏覽器中都已添加了對HTML5的offlineStorage功能的支持,HTML5離線存儲功能非常強大,它的作用是:在用戶沒有與因特網(wǎng)連接時,照樣可以訪問站點或應(yīng)用,在用戶與因特網(wǎng)連接時,自動更新緩存數(shù)據(jù),是我們的網(wǎng)站的適應(yīng)性和應(yīng)用型更強!

例如一些在線游戲的某些文件可以使用離線存儲緩存到本地,這樣就不用每次刷新頁面都要下載了。對于傳統(tǒng)的瀏覽器緩存是無法控制的,瀏覽器有自己的緩存規(guī)則,我們無法實現(xiàn)緩存什么不緩存什么。但是使用離線存儲可以緩存任何內(nèi)容,包括可以自定義哪些可以被緩存,哪些必須聯(lián)網(wǎng)才能訪問。

離線存儲所保存的不是應(yīng)用中的某些數(shù)據(jù),而是站點的某個些文件的副本,即html頁面或圖片等,而不是僅僅存儲一段json或xml。

HTML5的離線儲存怎么使用,以及工作原理

原理:HTML5的離線存儲是基于一個新建的.appcache文件的,通過這個文件上的解析清單離線存儲資源,這些資源就會像cookie一樣被存儲了下來。之后當(dāng)網(wǎng)絡(luò)在處于離線狀態(tài)下時,瀏覽器會通過被離線存儲的數(shù)據(jù)進行頁面展示。

方法:

1.在index.html里加上html manifest="test.manifest"

2.manifest清單格式如下:

CACHE MANIFEST

#上面一句必須

#v1.0.0

#需要緩存的文件

CACHE:

a.js

b.css

#不需要緩存的文件

NETWORK:

*

#無法訪問頁面

FALLBACK:

404.html

3.manifest文件的mime-type必須是 text/cache-manifest類型。

怎么學(xué)習(xí)html5里面的離線緩存

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

HTML5離線存儲和本地緩存

一.離線存儲

有一個web應(yīng)用有三個文件index.html,a.js,b.css,現(xiàn)在需要把js和css文件緩存起來

1.在index.html里加上html manifest="test.manifest"

2.manifest清單格式如下

CACHE MANIFEST

#上面一句必須

#v1.0.0

#需要緩存的文件

CACHE:

a.js

b.css

#不需要緩存的文件

NETWORK:

*

#無法訪問頁面

FALLBACK:

404.html

3.manifest文件的mime-type必須是 text/cache-manifest類型

注意點:

1.對于每個index.html?id=1或index.html?id=2都會分別緩存index.html頁面,可以通過chrome瀏覽器Resources/Application Cache觀察

2.如果想更新緩存內(nèi)容,只要修改下manifest文件即可,如改版本號v1.0.1

4.離線存儲如果資源有更新,可以通過如下代碼來監(jiān)聽,但第一次加載還會是原來的版本

window.applicationCache.addEventListener('updateready',function(e){

if(window.applicationCache.status == window.applicationCache.UPDATEREADY){

window.applicationCache.swapCache();

if(confirm("loding new?")){

window.location.reload()

}

}

},false)

二.本地緩存

localStorage.setItem("key","value")

localStorage.getItem("key","value")

localStorage.removeItem("key")

localStorage.clear()

1.本地存儲永不過期,除非自己去清除

2.可以通過chrome瀏覽器Resources/Local Storage來查看

3.不同域下就算key相同取不到的值也不同,如localhost和127.0.0.1

html5 如何更新離線緩存

需要服務(wù)器。這里用tomcat服務(wù)器來講解。

首先要先把.manifest后綴的文件 的mine類型配置為text/cache-manifest。

一講到tomcat配置,熟悉的朋友自然就會想到web.xml這個文件,沒錯,在文件中加入如下配置就行:

1 mime-mapping

2 extensionmanifest/extension

3 mime-typetext/cache-manifest/mime-type

4 /mime-mapping

然后寫一個xxx.manifest文件,xxx是你自己取的一個名字。這個文件的格式是這樣的:

CACHE MANIFEST

#version 1.5

CACHE:

MyTest.html

CSS/main.css

Javascript/bwH5LS.js

exp-calif-logo.gif

第一行是必須的,它標(biāo)識這是manifest的配置文件。

#version 1.5

這句是注釋,沒實際的作用,我在這里只是想讓瀏覽器更新緩存文件。因為當(dāng)這個manifest文件與原來一樣的時候,瀏覽器是不會去重新加載緩存文件的,所以我們可以通過這個注釋,一方面修改版本號,另一方面讓瀏覽器更新緩存。

CACHE:

這行指示出下面的文件是要緩存的。示例中,緩存了當(dāng)前頁面:MyTest.html,以及一些css和js文件 還有圖片。

還有幾個關(guān)鍵字示例中沒提到,就是

NETWORK:

FALLBACK:

NETWORK 指不想緩存的頁面;FALLBACK 是指請求的文件 沒有找到或該文件的服務(wù)器沒有響應(yīng)時的替代方案,比如我們想請求某個嵌套頁面,但這個頁面的服務(wù)器連接不上了,那么我可以轉(zhuǎn)向另外一個指定的頁面。

這是第二步,第三步,只要在html標(biāo)簽中加上manifest的位置就行了:

html manifest="NAME.manifest"

到這里,就可以實現(xiàn)簡單的離線應(yīng)用了。

那些緩存的文件放在哪呢?

在chrome上測試,發(fā)現(xiàn)它是按自己的機制來分塊保存這些文件的,所以我沒找不到完整的文件。保存的數(shù)據(jù)在:

C:\Users\jasonling\AppData\Local\Google\Chrome\User Data\Default 里面,具體怎么存,筆者還不了解。

火狐上的文件也是按它自己的機制來存的,不過筆者本人用sqlite打開后,找到了緩存文件的具體信息:


當(dāng)前名稱:html5的離線緩存,HTML5的離線儲存
地址分享:http://weahome.cn/article/dscsghs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部