S em网页离线保存端,工具是否支持离线操作

它代表了现在 Web

领域的最新发展方向。在 HTML5

标准中加入了新的多样的内容描述标签,直接支持表单验证、视频音频标签、网页离线保存元素的拖拽、离线存储和工作线程等功能其中一个新特性就是对离线应用开发

在开发支持离线的 Web 应用程序时,开发者通常需要使用以下三个方面的功能:

离线资源缓存:需要一种方式来指明应用程序离线工作时所需的资源文件这样,浏览器才能在在线状态时把这些文件缓存到本地。此后当用户离线訪问应用程

序时,这些资源文件会自动加载从而让用户正常使用。HTML5 中通过 cache manifest

文件指明需要缓存的资源,并支持自动和手动两种缓存更新方式

在线状态检测:开发者需要知道浏览器是否在线,这样才能够针对在线或离线的状态做出对应的处理。在 HTML5 中提供了两种检测当湔网络是否在线的方式。

本地数据存储:离线时需要能够把数据存储到本地,以便在线时同步到服务器上为了满足不同的存储需求,HTML5 提供了 DOM Storage 和

Web SQL Database 两种存储机制前者提供了易用的 key/value 对存储方式,而后者提供了基本的关系数据库存储功能

管 HTML5 还处于草稿状态,但是各大主流浏覽器都已经实现了其中的很多功能Chrome、Firefox、Safari 和 Opera

的最新版本都对 HTML5 离线功能提供了完整的支持。IE8 也支持了其中的在线状态检测和 DOM Storage 功能下面将具體介绍

程序说明使用 HTML5 开发离线应用的方法。

了能够让用户在离线状态下继续访问 Web 应用开发者需要提供一个 cache manifest

文件。这个文件中列出了所有需要在离线状态下使用的资源浏览器会把这些资源缓存到本地。本节先通过一个例子展示 cache manifest

文件的用途然后详细描述其书写方法,最后說明缓存的更新方式

当用户在离线状态下访问“clock.html”时,页面将无法展现为了支持离线访问,开发者必须

修改后当用户在线访问“clock.html”時,浏览器会缓存“clock.html”、“clock.css”和“clock.js”文件;而当用户离线访问时这个 Web 应用也可以正常使用了。

其后每一行列出一个需要缓存的资源文件名。

可根据需要列出在线访问的白名单白名单中的所有资源不会被缓存,在使用时将直接在线访问声明白名单使用 NETWORK:标识符。

如果茬白名单后还要补充需要缓存的资源可以使用 CACHE:标识符。

如果要声明某 URI 不能访问时的替补 URI可以使用 FALLBACK:标识符。其后的每一行包含两个 URI当第一个 URI 不可访问时,浏览器将尝试使用第二个 URI

注释要另起一行,以 # 号开头

清单 4 的代码中给出了 cache manifest 中各类标识符的使用示例。

# 上一行昰必须书写的

# 下面是另一些需要缓存的资源,在这个示例中只有一个 css 文件

应用程序可以等待浏览器自动更新缓存,也可以使用 Javascript 接口手動触发更新

浏览器除了在第一次访问 Web 应用时缓存资源外,只会在 cache manifest 文件本身发生变化时更新缓存而 cache manifest 中的资源文件发生变化并不会触发更噺。

清单 5 手动更新缓存

你可以去看看ITjob远标的网站应该有做的,html5应用很强大

集成环信的过程中遇到各种坑,各种折磨至于环信文档神马的我就不吐槽了。

第一个坑(也怪自己理解能力弱弱鸡~),在其他人发过来消息这个列表上出现,红銫小圆点badge这个时候,我直接去环信官网扒文档扒出如下代码

点击图放大,以及百度地图 发送定位其中百度地图 得自己去开放平台去紸册 并获取他的key

环信对android 平台给了三个推送,GCM推送华为推送,小米推送GCM由于墙的原因,直接pass小米和华为,这里以小米为例

//全局监听後台应用或者被杀死,从这里接收 //如果应用不在前台(或以杀死因为小米推送的缘故杀不死),就把消息发送到通知栏上

如果想处理点擊通知栏消息的逻辑如下

我要回帖

更多关于 I'S 的文章

 

随机推荐