源码网,源码论坛,源码之家,商业源码,游戏源码下载,discuz插件,棋牌源码下载,精品源码论坛

 找回密码
 立即注册
楼主: ttx9n

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

[复制链接]

7万

主题

861

回帖

32万

积分

论坛元老

Rank: 8Rank: 8

积分
329525
发表于 2013-1-7 14:57:51 | 显示全部楼层 |阅读模式
今天我们的内容是关于如何创建离线web应用,他的好处是可以让浏览器下载我们指定的web资源,这样用户在离线状态下也能正常使用我们的站点

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

1.定义Manifest

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

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

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

2.双击右侧的MIME类型;

2013010714564911.png

2013010714564911.png

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

2013010714564912.png

2013010714564912.png

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

复制代码代码如下:
CACHE MANIFEST
manifestFile.html
img/1.jpg
img/2.jpg
img/3.jpg

然后我们看下面的例子。

复制代码代码如下:
<!DOCTYPE HTML>
<html manifest="manifest.appcache">
<head>
<title>Example</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.onclick = handleButtonPress;
}
function handleButtonPress(e) {
document.getElementById('imgtarget').src = 'img/' + e.target.id + '.jpg';
}
</script>
</body>
</html>

程序运行,根据浏览器的不同,有的浏览器会询问你,是否允许保存离线数据到本地,有的不会。这样一个简单的离线应用就创建好了。

2.疑惑解答

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

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

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

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

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

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

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

2013010714564913.png

2013010714564913.png

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

2013010714564914.png

2013010714564914.png

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

2013010714564915.png

2013010714564915.png

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

2013010714564916.png

2013010714564916.png

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

2013010714564917.png

2013010714564917.png

本节的内容到此为止。

回复

使用道具 举报

1

主题

2万

回帖

79

积分

注册会员

Rank: 2

积分
79
发表于 2022-9-21 07:28:13 | 显示全部楼层
管灌灌灌灌灌灌灌灌灌灌
回复 支持 反对

使用道具 举报

1

主题

2万

回帖

307

积分

中级会员

Rank: 3Rank: 3

积分
307
发表于 2023-1-4 04:43:26 | 显示全部楼层
的谁vdvdsvdsvdsdsv
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2023-9-4 00:27:24 | 显示全部楼层
看看怎么样再说
回复 支持 反对

使用道具 举报

6

主题

2万

回帖

425

积分

中级会员

Rank: 3Rank: 3

积分
425
发表于 2023-9-10 18:43:35 | 显示全部楼层
给爸爸爸爸爸爸爸爸爸爸八佰伴八佰伴
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

69

积分

注册会员

Rank: 2

积分
69
发表于 2023-10-8 06:07:25 | 显示全部楼层
好东西一定要看看!
回复 支持 反对

使用道具 举报

0

主题

1万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-3-11 00:50:11 | 显示全部楼层
哟哟哟哟哟以偶
回复 支持 反对

使用道具 举报

11

主题

2万

回帖

300

积分

中级会员

Rank: 3Rank: 3

积分
300
发表于 2024-3-29 18:04:56 | 显示全部楼层
而快乐你们快乐马年快乐
回复 支持 反对

使用道具 举报

0

主题

2万

回帖

0

积分

中级会员

Rank: 3Rank: 3

积分
0
发表于 2024-4-6 22:48:37 | 显示全部楼层
啦啦啦啦啦啦哈哈哈
回复 支持 反对

使用道具 举报

2

主题

2万

回帖

499

积分

中级会员

Rank: 3Rank: 3

积分
499
发表于 2024-5-25 12:38:54 | 显示全部楼层
刷刷刷刷刷刷刷刷刷刷刷刷刷刷刷
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

手机版|小黑屋|网站地图|源码论坛 ( 海外版 )

GMT+8, 2024-11-26 03:30 , Processed in 0.077626 second(s), 27 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表