• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > html5之创建离线Web应用程序的示例代码

html5之创建离线Web应用程序的示例代码

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含html5,Web等相关知识,匿名希望在学习及工作中可以帮助到您
离线应用程序缓存功能允许我们指定Web应用程序所需的全部资源,

这样浏览器就能在加载HTML文档时把它们都下载下来。

1)定义浏览器缓存:

启用离线缓存——创建一个清单文件,并在html元素的manifest属性里引用它;

指定离线应用程序里要缓存的资源——在清单文件的顶部或者CACHE区域里列出资源;

指定资源不可用时要显示的备用内容——在清单文件的FALLBACK区域里列出内容;

指向始终向服务器请求的资源——在清单文件的BETWORK区域里列出内容;

示例:首先创建fruit.appcache的清单文件

    CACHE MANIFEST  
      
    example.html  
    banana100.png  
      
    FALLBACK:  
    * 404.html  
      
    NETWORK:  
    cherries100.png  
      
    CACHE:   
    apple100.png


再创建404.html文件,用于链接指向的html文件不在离线缓存中就可以用它来代替

<!DOCTYPE HTML>
<html manifest="fruit.appcache">
    <head>
        <title>Offline</title>
    </head>
    <body>
      <h1>您要的页面找不到了!</h1>
      或许您可以帮我们找找孩子!
    </body>
</html>

最后创建需要启用离线缓存的html文件

<!DOCTYPE HTML>
<html manifest="fruit.appcache">
    <head>
        <title>Example</title>
        <style>
            img {border: medium double black; padding: 5px; margin: 5px;}
        </style>
    </head>
    <body>
        <img id="imgtarget" src="banana100.png"/>
        <p>
            <button id="banana">Banana</button>
            <button id="apple">Apple</button>
            <button id="cherries">Cherries</button>
        </p>
        <a href="otherpage.html">Link to another page</a>
        <script>
            var buttons = document.getElementsByTagName("button");
            for (var i = 0; i < buttons.length; i++) {
                buttons[i].onclick = handleButtonPress;
            }
            
            function handleButtonPress(e) {
                document.getElementById("imgtarget").src = e.target.id + "100.png";
            }
        </script>
    </body>
</html>

2)检测浏览器状态:

window.navigator.online——如果浏览器确定为离线就返回false,如果浏览器可能在线则返回true;

3)使用离线缓存:

可以通过调用window.applicationCache属性直接使用离线缓存,它会返回一个ApplicationCache对象;
ApplicationCache对象成员:

update()——更新缓存以确保清单里的项目都已下载了最新的版本;

swapCache()——交换当前缓存与较新的缓存;

status——返回缓存的状态;

3.1)ApplicationCache对象的status属性值:

0——UNCACHED——此文档没有缓存,或者缓存数据尚未被下载;

1——IDLE——缓存没有执行任何操作;

2——CHECKING——浏览器正在检查清单或清单所指定项目的更新;

3——DOWNLOADING——浏览器正在下载清单或内容的更新;

4——UPDATEREADY——有更新后的缓存数据可用;

5——OBSOLETE——缓存数据已经废弃,不应该再使用了。这是请求清单文件时返回HTTP状态码4xx所造成的

(通常表明清单文件已被移走/删除);

3.2)ApplicationCache对象定义的事件,在缓存状态改变时触发:

checking——浏览器正在获取初始清单或者检查清单更新;

noupdate——没有更新可用,当前的清单是最新版;

downloading——浏览器正在下载清单里指定的内容;

progress——在下载阶段中触发;

cached——清单里指定的所有内容都已被下载和缓存了;

updateready——新资源已下载并且可以使用了;

obsolete——缓存已废弃;

CACHE MANIFEST

CACHE: 
example.html
banana100.png
cherries100.png
apple100.png

FALLBACK:
* offline2.html

<!DOCTYPE HTML>
<html manifest="fruit.appcache">
    <head>
        <title>Example</title>
        <style>
            img {border: medium double black; pad
  


 

您可能想查找下面的文章:

  • HTML5知识点总结
  • HTML5的本地存储
  • HTML5本地存储之IndexedDB
  • Html5实现文件异步上传功能
  • Html5新标签datalist实现输入框与后台数据库数据的动态匹配
  • 详解HTML5 window.postMessage与跨域
  • HTML5拖放API实现拖放排序的实例代码
  • 解决html5中video标签无法播放mp4问题的办法
  • HTML5新特性 多线程(Worker SharedWorker)
  • Html5新增标签有哪些

相关文章

  • 2018-12-03H5实现触屏版的轮播器
  • 2018-12-03如何创建 HTML5 Canvas 电信网络拓扑图
  • 2018-12-032小时完成HTML5拼图小游戏代码图文介绍
  • 2018-12-03HTML5第五天笔记
  • 2017-08-06使用 HTML5 Canvas 制作水波纹效果点击图片就会触发
  • 2018-12-03HTML5 规范何时能正式发布?
  • 2018-12-03HTML5定稿意味着什么,原生应用生态系统要被颠覆吗?
  • 2017-08-06探讨HTML5移动开发的几大特性(必看)
  • 2018-12-03HTML5Plus移动开发入门学习
  • 2018-12-03用Geolocation获取地理位置信息

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML5制作仿jQuery效果
    • 详解html5图片上传支持图片预览压缩及进度显示兼容IE6及标准浏览器
    • 详解html5 Canvas drawing的示例代码 (一)
    • HTML5使用drawImage()方法绘制图像
    • 原生拖拽的相关内容推荐
    • html5的新玩法——语音搜索
    • 移动端视网膜(Retina)屏幕下如何解决网页中1px显示问题?
    • 使用HTML5里的classList操作CSS类
    • 自定义实现可以播放暂停、进度拖拽、音量控制及全屏的H5播放器
    • 解析HTML5应用程序缓存Application Cache

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有