最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用Node實現(xiàn)HTML5離線存儲的方法

  發(fā)布時間:2020-10-16 16:38:23   作者:佚名   我要評論
這篇文章主要介紹了利用Node實現(xiàn)HTML5離線存儲的方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

前言

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

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

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

  • 離線瀏覽 – 用戶可在應用離線時使用它們
  • 速度 – 已緩存資源加載得更快
  • 減少服務器負載 – 瀏覽器將只從服務器下載更新過或更改過的資源。

原理和環(huán)境

  • 在線的情況下, 當瀏覽器渲染到 <html manifest="test.manifest"> 時,會發(fā)出一個請求,請求獲取 test.manifest 文件 ,如果是第一次訪問,那么瀏覽器就會根據(jù) 描述文件(manifest 文件)中(CACHE MANIFEST)的內容下載相應的資源并且進行離線存儲。如果已經訪問過并且資源已經離線存儲了,那么瀏覽器就會使用離線的資源加載頁面,然后瀏覽器會對比新的 manifest 文件與舊的 manifest 文件,如果文件沒有發(fā)生改變,就不做任何操作,如果文件改變了,那么就會重新下載文件中的資源并進行離線存儲。
  • :triangular_flag_on_post: 【注】 這個demo演示是為了更深的了解這個原理
  • 離線的情況下,瀏覽器就直接使用離線存儲的資源
  • 就像cookie一樣,HTML5的離線存儲也需要服務器環(huán)境,這個demo中服務端基于Node.js、Express框架和art-tmplate開發(fā)

 描述文件

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

manifest 文件可分為三個部分:

  • CACHE MANIFEST - 在此標題下列出的文件將在首次下載后進行緩存
  • NETWORK - 在此標題下列出的文件需要與服務器的連接,且不會被緩存
  • FALLBACK - 在此標題下列出的文件規(guī)定當頁面無法訪問時的回退頁面(比如 404 頁面)
  • 在線的情況下,用戶代理每次訪問頁面,都會去讀一次manifest.如果發(fā)現(xiàn)其改變, 則重新加載全部清單中的資源

結構

 

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

服務端環(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

<!DOCTYPE html>
<html lang="en" manifest="../public/offline.appcache">

<head>
  <meta charset="UTF-8">
  <title>HTML5離線存儲</title>
  <link rel="stylesheet" href="../public/index.css">
</head>

<body>
  <img src="../public/image/01.jpg" alt="">
  <img src="../public/image/02.jpg" alt="">
</body>

</html>

結果

開啟服務端后:

關閉服務端后:

改變 manifest 后 再次連接服務器

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

NETWORK:
*

FALLBACK:
/

 

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

再次關閉服務端后:

到此這篇關于利用Node實現(xiàn)HTML5離線存儲的文章就介紹到這了,更多相關HTML5離線存儲內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!

相關文章

  • H5離線存儲Manifest原理及使用

    這篇文章主要介紹了H5離線存儲Manifest原理及使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學
    2020-04-28
  • HTML5中的網絡存儲實現(xiàn)方式

    傳統(tǒng)方式使用document.cookie來進行存儲,但是由于其存儲的空間只有4KB左右,并且需要復雜的操作進行解析,給發(fā)開者帶來很多不便,為此,HTML5規(guī)范提出了網絡存儲的解決方
    2020-04-28
  • 使用HTML5 IndexDB存儲圖像和文件的示例

    這篇文章主要介紹了使用HTML5 IndexDB存儲圖像和文件的示例的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-05
  • HTML5離線應用與客戶端存儲的實現(xiàn)

    這篇文章主要介紹了HTML5離線應用與客戶端存儲的實現(xiàn)的相關資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-03
  • HTML5 本地存儲實現(xiàn)購物車功能

    這篇文章主要介紹了HTML5 本地存儲實現(xiàn)購物車功能的相關資料,需要的朋友可以參考下
    2017-09-07
  • 在HTML5 localStorage中存儲對象的示例代碼

    這篇文章主要介紹了在HTML5 localStorage中存儲對象的示例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-20

最新評論

紫阳县| 英超| 治县。| 成都市| 建始县| 嵊州市| 和顺县| 鄂托克前旗| 开鲁县| 德令哈市| 米易县| 南城县| 朝阳市| 泸溪县| 偏关县| 桂平市| 通河县| 华亭县| 运城市| 郑州市| 安福县| 石阡县| 斗六市| 乌拉特后旗| 错那县| 岢岚县| 通州市| 嘉定区| 集贤县| 白沙| 华安县| 平阴县| 荣成市| 吉木萨尔县| 酒泉市| 甘肃省| 廉江市| 隆昌县| 汨罗市| 宣化县| 内江市|