html5指南-6.如何创建离线web应用程序实现离线访问

2016-02-19 12:16 9 1 收藏

今天图老师小编要跟大家分享html5指南-6.如何创建离线web应用程序实现离线访问,精心挑选的过程简单易学,喜欢的朋友一起来学习吧!

【 tulaoshi.com - Web开发 】

今天我们的内容是关于如何创建离线web应用,他的好处是可以让浏览器下载我们指定的web资源,这样用户在离线状态下也能正常使用我们的站点。

1.定义Manifest

我们使用manifest列举出需要离线时访问的资源,他本身是一个文本类型的文件,第一行经常是CACHE MANIFEST,然后列举我们需要的资源,每行一个。文件没有固定的命名规则,后缀名也没有要求,唯一的要求就是需要把后缀名在服务器端以text/cache-manifest的MIME类型定义。

如果是iis 7服务器,按照下面的步骤

1.比如后缀名为.appcache,打开iis7,选择根节点(这样所有站点都会继承配置,也可以针对单个站点配置);

2.双击右侧的MIME类型;

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

3.点击右键添加MIME类型,这样就完成了配置。

服务器配置完毕,添加manifest文件。

代码如下:

CACHE MANIFEST
manifestFile.html
img/1.jpg
img/2.jpg
img/3.jpg

然后我们看下面的例子。

代码如下:

!DOCTYPE HTML
html manifest="manifest.appcache"
head
titleExample/title
style
img
{
border: medium double black;
padding: 5px;
margin: 5px;
}
/style
/head
body
img alt="" id="imgtarget" src="img/1.jpg" /
div
button id="1"car1/button
button id="2"car2/button
button id="3"car3/button
/div
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 = 'img/' + e.target.id + '.jpg';
}
/script
/body
/html

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)程序运行,根据浏览器的不同,有的浏览器会询问你,是否允许保存离线数据到本地,有的不会。这样一个简单的离线应用就创建好了。

2.疑惑解答

我在学习这部分知识的时候也遇到些问题和疑惑,如:

1.为什么我直接运行vs2010(我的开发环境),离线应用程序不能正确运行?

2.我怎么才知道离线应用是否创建成功?

3.我怎么才知道当前应用是否是离线状态?

4.暂停了iis服务后应该就处于离线状态了吧,为什么我重新刷新页面要报404错误?

现在我就这些我遇到的问题进行解答。

2.1.首先解释第一个疑问。关于这个问题,关键点在于你的应用web配置项是如何配置的,如果使用的是vs开发服务器的形式,那么我们就没有办法为它设置MIME类型,所以这种情况下我们的离线应用时没办法用的。剩下的两种web配置方式,只要你正确的按照,我上面介绍的配置MIME类型的方法配置了iis服务器,你的离线应用就能正确运行。

2.2.下面解释第二个问题,这里需要借助chrome浏览器的调试工具,使用chrome浏览器打开我们的web程序,按F12,切换到Resources选项卡。只要Application Cache下面有我们配置的信息,能找到缓存的文件,就证明我们的离线应用创建成功了。

2.3.还是使用chrome的调试工具,还是在Resources选项卡,注意到红线圈住的地方没,Online表示在线。

拔掉网线,显示Offline,表示离线,这时离线应用的效果就能表现出来了。

2.4.关于最后一个问题,还是要借助chrome浏览器的调试工具,当我们暂停iis服务的时候,我们看下Resources选项卡的显示,仍然是Online,只是后面从IDLE变成了OBSOLETE。这也就解释了为什么暂停本地iis,离线应用的离线效果显示不出来。

本节的内容到此为止。

来源:https://www.tulaoshi.com/n/20160219/1600433.html

延伸阅读
使用微软正在推行的.NET技术和C#语言可以快速建立Web应用程序,其安全性和可升级性都大大胜过普通的ASP应用程序。在这篇文章里,我们将使用.NET和C#一步一步的建立一个应用程序。 系统需求: Internet Explorer 5.5 Windows 2000 Professional, Server 或 Advanced Server ASP+/Microsoft .NET (预览版可以在 http://msdn.microso...
标签: Web开发
1-HTML5 Canvas Collage 基于HTML5 Canvas开发的拼贴应用,每个图层都可以按不同的方式进行改变,例如移动、缩放、旋转、透明度、阴影等,还可以调整层叠顺序。 2-Full Schedule 一个简单的日程应用,足以应用于工作,家务,锻炼计划等等各种需要记录下来的事情。 3-Plan5 HTML5 Task Organizer Plan 5 是一个任务组织、计划和定时...
标签: Web开发
前言 今天Web应用程序已经很复杂了,以现在的发展,会将越来越复杂,但他有一个致命缺点,不能脱离internet链接,因此在HTML中新增了一API, 它使用一个本地存储机制很好地解决了这个问题,为离线web应用铺平了道路。 本地缓存于浏览器缓存 代码如下: 本地缓存是为整个web应用程序服务 浏览器缓存只对单个网页服务/pp任何网页都具有网...
标签: Web开发
今天我们将把html5的geolocation结合google maps开发一个小的应用。google maps的api地址:https://developers.google.com/maps/documentation/javascript/?hl=zh-CN。 调用google maps,实现需要添加js引用script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"/script,其中sensor参数...
----Internet无疑是一种重要的信息传播媒体,随着其迅猛发展,将会有越来越多的企业、商团、政府机关、学校、科研机构需要在Internet上建立自己的网点。建设一个网点,硬件上需要专用服务器、集线器、路由器,租用数据通信用的专线,软件上需要安装网络操作系统和Internet服务器(www、FTP和gopher服务器),更为重要的是,需要编写大量的I...

经验教程

978

收藏

81
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部