iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么利用Node实现HTML5离线存储
  • 434
分享到

怎么利用Node实现HTML5离线存储

2023-06-09 10:06:30 434人浏览 薄情痞子
摘要

这篇文章主要介绍了怎么利用node实现HTML5离线存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言支持离线WEB应用开发是html5的一个重点。离线Web应用就是在设

这篇文章主要介绍了怎么利用node实现HTML5离线存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

前言

支持离线WEB应用开发html5的一个重点。离线Web应用就是在设备不能上网的时候仍然可以运行的应用。开发离线Web应用需要几个步骤,其中一个就是离线下必须能访问一定的资源(图像 js CSS等)

HTML5引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在离线时进行访问。

:pushpin:应用程序缓存为应用带来三个优势:

  • 离线浏览 – 用户可在应用离线时使用它们

  • 速度 – 已缓存资源加载得更快

  • 减少服务器负载 – 浏览器将只从服务器下载更新过或更改过的资源。

原理和环境

  • 在线的情况下, 当浏览器渲染到 <html manifest="test.manifest"> 时,会发出一个请求,请求获取 test.manifest 文件 ,如果是第一次访问,那么浏览器就会根据 描述文件(manifest 文件)中(CACHE MANIFEST)的内容下载相应的资源并且进行离线存储。如果已经访问过并且资源已经离线存储了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的 manifest 文件与旧的 manifest 文件,如果文件没有发生改变,就不做任何操作,如果文件改变了,那么就会重新下载文件中的资源并进行离线存储。

  • :triangular_flag_on_post: 【注】 这个demo演示是为了更深的了解这个原理

  • 离线的情况下,浏览器就直接使用离线存储的资源

  • 就像cookie一样,HTML5的离线存储也需要服务器环境,这个demo中服务端基于node.js、Express框架和art-tmplate开发

 描述文件

要想在缓存中保存数据,需要使用描述文件manifest 文件,列出要下载和缓存的资源

manifest 文件可分为三个部分:

  • CACHE MANIFEST - 在此标题下列出的文件将在首次下载后进行缓存

  • NETWORK - 在此标题下列出的文件需要与服务器的连接,且不会被缓存

  • FALLBACK - 在此标题下列出的文件规定当页面无法访问时的回退页面(比如 404 页面)

  • 在线的情况下,用户代理每次访问页面,都会去读一次manifest.如果发现其改变, 则重新加载全部清单中的资源

结构

怎么利用Node实现HTML5离线存储 

:triangular_flag_on_post: 【注意】 所有的你想让浏览器缓存的资源放在public静态资源文件夹中

服务端环境的搭建

npm init //生成package.JSON说明书文件npm i express //安装express包npm i --save art-template express-art-template //使用art-tmplate// 入口文件app.jsvar 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>

结果

开启服务端后:

怎么利用Node实现HTML5离线存储 怎么利用Node实现HTML5离线存储

关闭服务端后:

怎么利用Node实现HTML5离线存储

改变 manifest 后 再次连接服务器

CACHE MANIFEST#v01/public/image/01.jpg/public/index.cssNETWORK:*FALLBACK:/

怎么利用Node实现HTML5离线存储 

:triangular_flag_on_post: 【注】 看图右边控制端的输出,因为改变了manifest文件,浏览器会对比新的 manifest 文件与旧的 manifest 文件,发现文件改变了,那么就会重新下载文件中的资源并进行离线存储

再次关闭服务端后:

怎么利用Node实现HTML5离线存储

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么利用Node实现HTML5离线存储”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网精选频道,更多相关知识等着你来学习!

--结束END--

本文标题: 怎么利用Node实现HTML5离线存储

本文链接: https://www.lsjlt.com/news/255600.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么利用Node实现HTML5离线存储
    这篇文章主要介绍了怎么利用Node实现HTML5离线存储,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言支持离线Web应用开发是HTML5的一个重点。离线Web应用就是在设...
    99+
    2023-06-09
  • HTML5如何实现离线存储功能
    这篇文章给大家分享的是有关HTML5如何实现离线存储功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 HTML5 离线功能介绍 HTML5 是目前正在讨论的新一代 HTML...
    99+
    2024-04-02
  • 怎么在HTML5中使用manifest实现离线缓存
    本篇文章给大家分享的是有关怎么在HTML5中使用manifest实现离线缓存,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。离线访问对基于网络的应用而言越来越重要。虽然所有浏览器...
    99+
    2023-06-09
  • HTML5离线缓存Manifest怎么使用
    本篇内容主要讲解“HTML5离线缓存Manifest怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5离线缓存Manifest怎么使用”吧!  ...
    99+
    2024-04-02
  • 怎么实现HTML5离线应用开发
    这篇文章主要介绍“怎么实现HTML5离线应用开发”,在日常操作中,相信很多人在怎么实现HTML5离线应用开发问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么实现HTML5离...
    99+
    2024-04-02
  • HTML5离线缓存的作用是什么
    这篇“HTML5离线缓存的作用是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“HTML...
    99+
    2024-04-02
  • 怎么在Android中利用SharedPreferences实现存储
    怎么在Android中利用SharedPreferences实现存储?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。SharedPreferences 特点即便是...
    99+
    2023-05-31
    android sharedpreferences roi
  • HTML5离线缓存在tomcat下如何部署可实现图片flash等离线浏览
    这篇文章给大家介绍HTML5离线缓存在tomcat下如何部署可实现图片flash等离线浏览,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 打开一个网页,加...
    99+
    2024-04-02
  • Android中怎么利用SharedPreference实现数据储存
    今天就跟大家聊聊有关Android中怎么利用SharedPreference实现数据储存,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。不同于文件形式的存储方式,SharedPrefe...
    99+
    2023-06-04
  • Oracle中怎么利用Openfiler实现共享存储
    这期内容当中小编将会给大家带来有关Oracle中怎么利用Openfiler实现共享存储,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、root用户,rac1、rac2关...
    99+
    2024-04-02
  • ASP.NET中怎么利用存储过程实现分页
    ASP.NET中怎么利用存储过程实现分页,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。一、首先看下页面前台代码<%@ Page Language=...
    99+
    2023-06-17
  • 怎么创建离线web应用程序实现离线访问
    这篇文章主要介绍了怎么创建离线web应用程序实现离线访问的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么创建离线web应用程序实现离线访问文章都会有所收获,下面我们一起来看看...
    99+
    2024-04-02
  • node中怎么利用进程通信实现Cluster共享内存
    node中怎么利用进程通信实现Cluster共享内存,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。##IPC的基本用法:// w...
    99+
    2024-04-02
  • 缓存是什么?用node怎么实现?
    浏览器缓存是前端优化的一个重要方向,通过缓存静态资源,可以减少页面的加载时间和减轻服务器负担,提高用户体验。本文将介绍浏览器缓存的基本原理和常见的缓存策略,并用 nodejs的 koa 框架下的代码实现。缓存原理浏览器缓存的基本原理是将静态...
    99+
    2023-05-14
    前端 面试 Node.js
  • MYSQL中怎么利用DATE实现数据类型存储
    这篇文章给大家介绍MYSQL中怎么利用DATE实现数据类型存储,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 MYSQL-数据类型存储-DATE on E...
    99+
    2024-04-02
  • Html5中本地存储IndexedDB怎么用
    这篇文章将为大家详细讲解有关Html5中本地存储IndexedDB怎么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。IndexedDB 是一种低级API,用于客户端存储...
    99+
    2024-04-02
  • HTML5中LocalStorage本地存储怎么用
    这篇文章给大家分享的是有关HTML5中LocalStorage本地存储怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1.前言HTML5 storage提供了一种方式让网站能...
    99+
    2024-04-02
  • html5中web本地存储怎么用
    这篇文章主要介绍了html5中web本地存储怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 在html5...
    99+
    2024-04-02
  • JavaScript本地存储怎么实现用户名存储
    这篇文章主要介绍了JavaScript本地存储怎么实现用户名存储的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JavaScript本地存储怎么实现用户名存储文章都会有所收获,下面我们一起来看看吧。一、本地存储1...
    99+
    2023-07-02
  • openstack离线部署怎么实现
    OpenStack离线部署可以通过以下步骤实现:1. 下载所需的OpenStack软件包和依赖项,并将其存储在一个离线环境中,如本地...
    99+
    2023-10-10
    openstack
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作