日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
怎么利用Node實現(xiàn)HTML5離線存儲-創(chuàng)新互聯(lián)

這篇文章主要介紹了怎么利用Node實現(xiàn)HTML5離線存儲,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

10年積累的網(wǎng)站設(shè)計、做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有和平免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

前言

支持離線Web應(yīng)用開發(fā)是HTML5的一個重點。離線Web應(yīng)用就是在設(shè)備不能上網(wǎng)的時候仍然可以運行的應(yīng)用。開發(fā)離線Web應(yīng)用需要幾個步驟,其中一個就是離線下必須能訪問一定的資源(圖像 JS css等)

HTML5引入了應(yīng)用程序緩存,這意味著 web 應(yīng)用可進行緩存,并可在離線時進行訪問。

:pushpin:應(yīng)用程序緩存為應(yīng)用帶來三個優(yōu)勢:

  • 離線瀏覽 – 用戶可在應(yīng)用離線時使用它們

  • 速度 – 已緩存資源加載得更快

  • 減少服務(wù)器負載 – 瀏覽器將只從服務(wù)器下載更新過或更改過的資源。

原理和環(huán)境

  • 在線的情況下, 當瀏覽器渲染到 時,會發(fā)出一個請求,請求獲取test.manifest 文件 ,如果是第一次訪問,那么瀏覽器就會根據(jù) 描述文件(manifest 文件)中(CACHE MANIFEST)的內(nèi)容下載相應(yīng)的資源并且進行離線存儲。如果已經(jīng)訪問過并且資源已經(jīng)離線存儲了,那么瀏覽器就會使用離線的資源加載頁面,然后瀏覽器會對比新的manifest 文件與舊的manifest 文件,如果文件沒有發(fā)生改變,就不做任何操作,如果文件改變了,那么就會重新下載文件中的資源并進行離線存儲。

  • :triangular_flag_on_post:【注】 這個demo演示是為了更深的了解這個原理

  • 離線的情況下,瀏覽器就直接使用離線存儲的資源

  • 就像cookie一樣,HTML5的離線存儲也需要服務(wù)器環(huán)境,這個demo中服務(wù)端基于Node.js、Express框架和art-tmplate開發(fā)

 描述文件

要想在緩存中保存數(shù)據(jù),需要使用描述文件manifest 文件,列出要下載和緩存的資源

manifest 文件可分為三個部分:

  • CACHE MANIFEST - 在此標題下列出的文件將在首次下載后進行緩存

  • NETWORK - 在此標題下列出的文件需要與服務(wù)器的連接,且不會被緩存

  • FALLBACK - 在此標題下列出的文件規(guī)定當頁面無法訪問時的回退頁面(比如 404 頁面)

  • 在線的情況下,用戶代理每次訪問頁面,都會去讀一次manifest.如果發(fā)現(xiàn)其改變, 則重新加載全部清單中的資源

結(jié)構(gòu)

怎么利用Node實現(xiàn)HTML5離線存儲

:triangular_flag_on_post:【注意】 所有的你想讓瀏覽器緩存的資源放在public靜態(tài)資源文件夾中

服務(wù)端環(huán)境的搭建

npm init //生成package.json說明書文件
npm i express //安裝express包
npm i --save art-template express-art-template //使用art-tmplate
// 入口文件app.js
var express = require("express");
var app = express();
app.use('/public/', express.static('./public/'))
app.engine('html', require('express-art-template'));
app.get('/', function (req, res) {
  res.render('index.html');
});
app.listen(3000, function () {
  console.log("app is running at port 3000.");
});

其它

offline.appcache描述文件

CACHE MANIFEST
#v01
/public/image/01.jpg //緩存第一張圖片

NETWORK:
*

FALLBACK:
/

index.html





  
  HTML5離線存儲
  



  
  


結(jié)果

開啟服務(wù)端后:

怎么利用Node實現(xiàn)HTML5離線存儲怎么利用Node實現(xiàn)HTML5離線存儲

關(guān)閉服務(wù)端后:

怎么利用Node實現(xiàn)HTML5離線存儲

改變manifest 后 再次連接服務(wù)器

CACHE MANIFEST
#v01
/public/image/01.jpg
/public/index.css

NETWORK:
*

FALLBACK:
/

怎么利用Node實現(xiàn)HTML5離線存儲

:triangular_flag_on_post:【注】 看圖右邊控制端的輸出,因為改變了manifest文件,瀏覽器會對比新的 manifest 文件與舊的 manifest 文件,發(fā)現(xiàn)文件改變了,那么就會重新下載文件中的資源并進行離線存儲

再次關(guān)閉服務(wù)端后:

怎么利用Node實現(xiàn)HTML5離線存儲

感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么利用Node實現(xiàn)HTML5離線存儲”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習!


文章名稱:怎么利用Node實現(xiàn)HTML5離線存儲-創(chuàng)新互聯(lián)
文章鏈接:http://www.dlmjj.cn/article/echge.html