HTML5离线储存

这篇具有很好参考价值的文章主要介绍了HTML5离线储存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

离线存储指的是:在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件。

原理:HTML5的离线存储是基于一个新建的 .appcache 文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示


使用方法

  1. 创建一个和 html 同名的 manifest 文件,然后在页面头部加入 manifest 属性:

    <html lang="en" manifest="index.manifest">
    
  2. cache.manifest 文件中编写需要离线存储的资源:

    CACHE MANIFEST
        #v0.11
        CACHE:
        js/app.js
        css/style.css
        NETWORK:
        resourse/logo.png
        FALLBACK:
        / /offline.html
    
    • CACHE: 表示需要离线存储的资源列表,由于包含 manifest 文件的页面将被自动离线存储,所以不需要把页面自身也列出来。
    • NETWORK: 表示在它下面列出来的资源只有在在线的情况下才能访问,他们不会被离线存储,所以在离线情况下无法使用这些资源。不过,如果在 CACHE 和 NETWORK 中有一个相同的资源,那么这个资源还是会被离线存储,也就是说 CACHE 的优先级更高。
    • FALLBACK: 表示如果访问第一个资源失败,那么就使用第二个资源来替换他,比如上面这个文件表示的就是如果访问根目录下任何一个资源失败了,那么就去访问 offline.html 。
  3. 在离线状态时,操作 window.applicationCache 进行离线缓存的操作:

    • 更新 manifest 文件
    • 通过 javascript 操作
    • 清除浏览器缓存

浏览器是如何对 HTML5 的离线储存资源进行管理和加载

  • 在线的情况下,浏览器发现 html 头部有 manifest 属性,它会请求 manifest 文件,如果是第一次访问页面 ,那么浏览器就会根据 manifest 文件的内容下载相应的资源并且进行离线存储。如果已经访问过页面并且资源已经进行离线存储了,那么浏览器就会使用离线的资源加载页面,然后浏览器会对比新的 manifest 文件与旧的 manifest 文件,如果文件没有发生改变,就不做任何操作,如果文件改变了,就会重新下载文件中的资源并进行离线存储。

  • 离线的情况下,浏览器会直接使用离线存储的资源。文章来源地址https://www.toymoban.com/news/detail-687270.html


注意事项

  1. 浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个站点 5MB)。
  2. 如果 manifest 文件,或者内部列举的某一个文件不能正常下载,整个更新过程都将失败,浏览器继续全部使用老的缓存。
  3. 引用 manifest 的 html 必须与 manifest 文件同源,在同一个域下。
  4. FALLBACK 中的资源必须和 manifest 文件同源。
  5. 当一个资源被缓存后,该浏览器直接请求这个绝对路径也会访问缓存中的资源。
  6. 站点中的其他页面即使没有设置 manifest 属性,请求的资源如果在缓存中也从缓存中访问。
  7. 当 manifest 文件发生改变时,资源请求本身也会触发更新。

到了这里,关于HTML5离线储存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AI生成--HTML、HTML5面试题

    什么是HTML? 答:HTML是超文本标记语言,用于创建网页和Web应用程序。它被设计为一种简化的标记语言,以使人们可以轻松创建和共享文档。 什么是HTML5? 答:HTML5是HTML的第五个版本,它引入了许多新的功能和API,使得Web应用程序更加灵活和强大。 HTML5中的新元素是哪些?

    2024年02月10日
    浏览(40)
  • 前端之html5

    html5优势:     语义化标签:             布局标签:              状态标签:         列表标签:        文本标签:          表单控件:         视频标签:          音频标签:         全局属性: article和section区别: 兼容性处理:            1 针对javascr

    2024年02月13日
    浏览(49)
  • html5前端学习

    定义HTML文档,浏览器看到后就明白这个是HTML文档,所以其他元素要包裹在它里面,标签限定了文档的开始点和结束点。 head标签用于定义文档的头部,描述了文档的各种属性和信息,包括文档的标题、在Web的位置以及和其他文档的关系等,绝大多数文档头部包含的数据都不会

    2024年02月08日
    浏览(53)
  • 前端学习——HTML5

    新增布局标签 新增状态标签 新增列表标签 新增文本标签 新增表单控件属性 input新增type属性值 新增视频标签 新增音频标签

    2024年02月12日
    浏览(58)
  • html5——前端笔记

    html页面: !DOCTYPE 不是一个 HTML 标签,它就是 文档类型声明标签,这句代码的意思是: 当前页面采取的是 HTML5 版本来显示网页 声明位于文档中的最前面的位置,处于 标签之前。 不是一个 HTML 标签,它就是 文档类型声明标签。 lang 语言种类,用来定义当前文档显示的语言。

    2024年02月10日
    浏览(41)
  • html5前端学习2

    一篇思维题题解: 第五周任务 [Cloned] - Virtual Judge (vjudge.net) K - Summer Vacation-CSDN博客  快捷键: Ctrl+Alt+Down        向下选取 Ctrl+Alt+Up             向上选取(会出现多个光标,可以同时输入) Ctrl+Enter                无论光标在哪个位置,都向下换行,与Enter有区别 链接分

    2024年02月10日
    浏览(100)
  • HTML5前端标签练习

    标签的分类 标签的嵌套 a标签 验证form表单朝后端提交数据 效果 代码

    2024年02月08日
    浏览(57)
  • 前端-01Html5基本知识

    内容 使用浏览器打开 浏览器 谷歌浏览器 清缓存 ctrl+shift+delete vscode 生成浏览器文件.html的快捷方式 !+回车 常用快捷键 快速打开浏览器 插件open in browser 安装,就会多出两个选项来 概念 是一种用来描述网页的一种语言,被称为超文本标记语言,本质是标记语言,标记语言是

    2024年02月04日
    浏览(44)
  • 02-前端基础第二天-HTML5

    能够书写表格 能够写出无序列表 能够写出3~4个常用input表单类型 能够写出下拉列表表单 能够使用表单元素实现注册页面 能够独立查阅W3C文档 表格标签 列表标签 表单标签 综合案例 查阅文档 表格是实际开发中非常常用的标签: 表格的主要作用 表格的基本语法 1.1表格的主要

    2024年02月12日
    浏览(38)
  • 面试题更新之-HTML5的新特性

    面试题更新之-HTML5的新特性 HTML5引入了许多新特性和改进,以下是一些HTML5的新特性: 语义化标签:HTML5引入了一系列的语义化标签,如 header 、 nav 、 section 、 article 、 footer 等,用于更清晰地定义文档结构和内容。 视频和音频支持:HTML5提供了和标签,使得在网页中嵌入视

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包