H5应用程序缓存浅谈及实际测试
应用程序缓存能做什么?
- 可以在脱离网络的条件下离线访问。
- 减少读取服务器文件,减轻服务器的访问压力。
- 优化网站打开速度。
如何启用应用缓存?
第一步:给服务器添加新的MIME:扩展名:.appcache MIME类型:text/cache-manifest
第二步:创建appcache文件:
appcache文件可以看作缓存规则配置文件。appcache文件内可以定义需要缓存的文件列表、不缓存的文件列表、及文件不存在时时的替补资源。
appcache文件分成三部份:
- CACHE: #设置需要缓存的资源
- NETWORK: #设置不缓存的资源,该资源在离线时不可用
- FALLBACK: #规定如果无法建立因特网连接时,用指定的资源替换
appcache文件示例,比如将此文件保存到网站根目录路径:/manifest/article_lists.appcache
CACHE MANIFEST
# 井号用来注释
# CACHE表示需要缓存的文件
# CACHE不支持 * 号
CACHE:
about.html
video.html
css/css.css
js/common.js
# NETWORK 表示不缓存的文件,离线时是不可用的
NETWORK:
login.asp
# * 可以使用星号来指示所有其他资源/文件都需要因特网连接: # FALLBACK 规定如果无法建立因特网连接,则用 "404.html" 替代 /html5/ 目录中的所有文件:
FALLBACK:
/html5/ /404.html
appcache文件注意事项:
- 列表清单支持相对路径和绝对路径。
- 资源名称尽量不要使用汉字、空格等特殊文件。
第三步:主页面引入appcache文件,一旦打开该页面的同时会缓存appcache指定的文件。
比如主页面名为:article_lists.html,其引入方式如下:
<!DOCTYPE html>
<!-- appcache文件路径可以是相对,也可以是绝对路径-->
<html manifest="/manifest/article_lists.appcache">
注意细节:
- 执行文件(比如 article_lists.html),虽然不在缓存列表内,但仍然会被缓存。
- 浏览器对缓存数据的容量限制可能不太一样(某些浏览器设置的限制是每个站点 5MB)。
- 查看资源是否被缓存,可以在浏览器按F12键,在console内查看
- 文件引用缓存文件时,一定要区分大小写!
比如:缓存列表内缓存css/css.css 资源,全是小写状态。则执行时会将该文件下载到本机。
而离线html文件想要加载该css文件用了大写文件名时会显示出错,是因为离线匹配缓存文件是区分大小写。
也就是说: css.css 资源是被缓存了,但离线文件引用该缓存资源时未能正确的匹配大小写状态,导致无法正确加载该CSS样式。 <!DOCTYPE HTML>
<html manifest="/learn/h5/h5.appcache">
<head>
<title>H5 简明教程</title>
<!-- 由于appcache内缓存的文件名是小写的:css/css.css 而这里引用了大写的Css/css.css导致无法获取该资源的缓存 -->
<link rel="stylesheet" type="text/css" href="Css/css.css" />
1、 如果要缓存一个html页面,一定同时要缓存该文件所关联的所有资源列表,包括css、js、图片、文件等。
2、强制更新缓存,可以编辑appcache文件,比如修改注释。
H5应用程序缓存浅谈及实际测试的更多相关文章
- H5应用程序缓存 - Cache manifest
一.作用 离线浏览 - 根据文件规则把资源缓存在本地,脱机依然能够访问资源,联网会直接使用缓存在本地的文件.优化加载速度,节约服务器资源. 二.适用场景 正如 manifest 英译的名字:离线应用程 ...
- H5 应用程序缓存(离线缓存)
离线缓存这个功能的实现有以下步骤: 1,以nginx做web服务器为例,在mime.types文件中添加一行:text/cache-manifest manifest,作用是为了让服务器识别该 ...
- AppCache 离线存储 应用程序缓存 API 及注意事项
使用ApplicationCache接口实现离线缓存 原文:http://www.mb5u.com/HTML5/html5_96464.html 推荐:html5 application cache遇 ...
- HTML5应用程序缓存Application Cache
什么是Application Cache HTML5引入了应用程序缓存技术,意味着web应用可进行缓存,并在没有网络的情况下使用,通过创建cache manifest文件,可以轻松的创建离线应用. A ...
- HTML5应用程序缓存Application Cache详解
什么是Application Cache HTML5引入了应用程序缓存技术,意味着web应用可进行缓存,并在没有网络的情况下使用,通过创建cache manifest文件,可以轻松的创建离线应用. A ...
- 神奇的HTML5离线存储(应用程序缓存)
声明:本文为原创文章,如需转载,请注明来源并保留原文链接前端小尚,谢谢! 前言 使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本. HTML5引入 ...
- Php output buffering缓存及程序缓存
在php中有时为了控制程序的输出显示顺序,提供了output buffering缓存(php自身缓存机制). 若Ob缓存开启,需要输出的就先存在ob缓存里,再到程序缓存里.若没有开启,则直接进入 ...
- HTML 5 学习之应用程序缓存
什么是应用程序缓存(Application Cache)? HTML5 引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在没有因特网连接时进行访问. 应用程序缓存为应用带来三个优势: 离线浏 ...
- 从零开始学 Web 之 HTML5(三)网络监听,全屏,文件读取,地理定位接口,应用程序缓存
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
随机推荐
- 前端基础-CSS的属性相关设置
一 字体属性 二 文本属性 三 背景属性 四 盒子模型 五 盒子模型各部分详解 一. 字体属性 1.font-weight:文字粗细(表格中*为重点) 取值 描述 normal 默认值,标准粗细 ...
- CSS:层叠样式表—position
CSS position属性用于指定一个元素在文档中的定位方式.top,right,bottom和left属性则决定了该元素的最终位置. 常见语法 static | relative | absolu ...
- Oracle中字符串截取常用方法总结
substr 函数:截取字符串 语法:SUBSTR(string,start, [length]) string:表示源字符串,即要截取的字符串. start:开始位置,从1开始查找.如果start ...
- DB数据源之SpringBoot+MyBatis踏坑过程(二)手工配置数据源与加载Mapper.xml扫描
DB数据源之SpringBoot+MyBatis踏坑过程(二)手工配置数据源与加载Mapper.xml扫描 liuyuhang原创,未经允许进制转载 吐槽之后应该有所改了,该方式可以作为一种过渡方式 ...
- android软件开发之TextView控件常用属性
TextView控件 text属性,设置显示的文本 textColor:设置文本颜色 textSize:设置文本字体大小 autoLink:设置文本为电话,URL连接等的时候是否显示为可点击的链接 c ...
- 复习宝典之Git分布式版本控制
查看更多宝典,请点击<金三银四,你的专属面试宝典> 第三章:Git分布式版本控制 1)git文件状态 git中的文件有以下几种状态: 未跟踪(untrack):表示文件为新增加的. 已修改 ...
- 搭建 Redis 的主从
主从概念 ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构 master用来写数据,slave用来读数据,经统计:网站的读写比率 ...
- wdcp v3 pureftpd 无法登录问题解决
wdcp v3 新建站点和ftp账号 单位无法登录ftp 在端口中也确实可以看到有进行在登录状态 错误原因: 防火墙端口没有开启该端口范围 20000-30000 这时候发现 改端口为20078 ...
- JZOJ 4273. 【NOIP2015模拟10.28B组】圣章-精灵使的魔法语
4273. [NOIP2015模拟10.28B组]圣章-精灵使的魔法语 (File IO): input:elf.in output:elf.out Time Limits: 1000 ms Mem ...
- 最完整的数据倾斜解决方案(spark)
一.了解数据倾斜 数据倾斜的原理: 在执行shuffle操作的时候,按照key,来进行values的数据的输出,拉取和聚合.同一个key的values,一定是分配到一个Reduce task进行处理. ...