`
天梯梦
  • 浏览: 13640109 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

使用HTML5开发手机离线应用

 
阅读更多

使用HTML5开发手机离线应用

本来这篇文章想叫《挺起你的HTML5》或者《让HTML5飞》或者神马其他的,但是为了更好的体现主题,我就用这个直白点的题目吧  [酷] ~

随 着各种智能手机(iPhone、Android)大行其道,App模式的应用开发变得热火朝天,反观Web领域则黯然失色。然而即将(或者说已 经)到来的HTML5,又为Web注入了新鲜的鸡血,让我等Web码农再次激动不已——我们可以用HTML、CSS、JavaScript开发手机应用 了!可以实现绝大部分Native App的功能,跨平台,自动更新,即需即取……亲,只需要有浏览器哟!而且没有恶心的IE6 [喜欢] ~

做任何一个应用都离不开两种东西:文件和数据。下面我就以一个简单的小应用来介绍一下如何开发一个Web应用,让它能够在Offline的情况下取得文件和数据。

 

Cache Manifest

首先,请自行实现一个包含图片、JavaScript、CSS的普通HTML页面。

显而易见的,这个页面所包含的文件有HTML、JavaScript、CSS、图片。为了让这个页面能够离线访问,我们必须告诉浏览器,它要缓存那些文件,让我们下次访问的时候直接在本地取即可。

HTML5给我们提供了一种Cache Manifest的机制,让我们实现这样的功能。Cache Manifest是通过一个 .manifest为后缀的文件来配置需要缓存的或者一定要保持联网的文件,格式如下:

CACHE MANIFEST
# VERSION 1.0
 
# 直接缓存的文件
CACHE:
index.html
img.jpg
script.js
stylesheet.css
 
# 需要在时间在线的文件
NETWORK:
/wp-admin/
 
# 替代方案
FALLBACK:
/ajax/ ajax.html

 

同时,我们要给页面的html标签添加一个manifest属性:

<html manifest="到Manifest文件的路径.manifest">

 

还有一点要注意的,就是Manifest文件的MIME类型必须正确,对于Apache有两种设置方法(IIS没研究过),一种是在Apache的配置文件mime.types中加上:

text/cache-manifest manifest

 

一种是在网站的.htaccess文件中加上:

AddType text/cache-manifest manifest

 

最后,最好重启一下你的服务器~~~

使用了Cache Manifest机制后,浏览器就不会自动更新你所缓存的内容了,如果想更新客户端缓存的内容,修改.manifest文件的任意内容即可。修改版本号是一种推荐的做法,即上面的“#VERSION 1.0”(这是一个注释),甚至可以说是最佳实践。

如果想了解更多,请看这里

 

 

Local Storage

localStorage是Web Storage存储规范中的一部分(虽然大家很喜欢把它归到HTML5的东西里面去),目前多数浏览器都已经支持了(ie8+也支持喔~)。

这是一个易学易用的东西,用于保存key-value形式的键值对。说到键值对肯定很容易想到Cookie,不过Cookie在每次请求中都会被发送到服务器端,如果使用大数据集合的话会有性能问题,在传输中也会有安全问题。

下面就讲讲localStorage的使用吧。

 

首先,在召唤localstorage之前当然要检测一下是否可用:

//检测localStorage是否可用
//本段代码来自<Dive Into HTML5>
function supports_html5_storage() {
  try {
    //不懂为啥要写这么复杂
    return 'localStorage' in window && window['localStorage'] !== null;
  } catch (e) {
    return false;
  }
}

 

 

使用localstorage的方式很简单, 直接像访问对象一样访问它即可:

//设置数据 setItem
localStorage.setItem("myKey", "myValue");
 
//获取数据 getItem
var data= localStorage.getItem("myKey");
 
//还能用数组这样的格式来访问
localStorage["myKey2"] = "myValue2";
 
var data2 = localStorage["myKey2"];
 
//移除指定数据
localStorage.removeItem("myKey2");
 
//清空数据
localStorage.clear();

 

 

操作结果可以在“开发人员工具”中看到

 

一些LocalStorage的注意事项:

  • localStorage要通过域名访问的方式才能起作用,直接打开本地文件是不行滴哟~
  • 俺们保存的都是string,如果是int或者float的话,get回来之后记得转换一下;
  • 本地存储数据在同样域名下的网页间是共享的,即便是在多个浏览器标签页中;
  • 使用http://连接的页面是看不到使用https://连接会话中的数据库的。

 

有了Cache Manifest和LocalStorage这两个利器,是不是觉得HTML5开发手机离线应用开始有这么点眉目了?

 

原文:http://rolfzhang.com/articles/522.html

 

justcode.ikeepstudying.com

分享到:
评论

相关推荐

    使用 HTML5 开发离线应用

    为了能够让用户在离线状态下继续访问 Web 应用,开发者需要提供一个 cache manifest 文件。这个文件中列出了所有需要在离线状态下使用的资源,浏览器会把这些资源缓存到本地。本节先通过一个例子展示 cache manifest...

    使用 HTML5 开发离线应用[转载]

    使用 HTML5 开发离线应用[转载]

    HTML5离线应用

    全面的离线应用示例,是想用HTML5开发离线应用的好样例。

    21秋《HTML5开发基础与应用》离线作业1.docx

    21秋《HTML5开发基础与应用》离线作业1.docx

    使用HTML5开发离线应用

    Web2.0技术鼓励个人的参与,每个人都是Web内容的撰写者。如果Web应用能够提供离线的功能,让用户在没有网络的地方...HTML5离线功能中的离线资源缓存、在线状态检测、本地数据存储等内容,并举例说明了如何使用HTML5

    HTML5离线应用与客户端存储的实现

    支持离线 Web 应用开发是 HTML5 的另...HTML5 及其相关的 API让开发离线应用成为现实。 离线检测 要知道设备是否在线还是离线,HTML5 定义了一个 navigator.onLine 属性,这个属性值为 true 表示设备能上网,值为 false

    21秋《HTML5开发基础与应用》离线作业2.docx

    21秋《HTML5开发基础与应用》离线作业2.docx

    使用HTML5创建Flex的离线应用程序

    互联网已经日益成为应用程序开发的默认平台,提供了传统胖客户端模型(C/SClient/Server)的替代模型,基于浏览器服务器(B/SBrowser/Server)的瘦客户端模式应用程序开始占据主流位置,Web的广泛使用解决了C/S应用...

    Android离线webview调试工具,开发H5混合应用必备

    调试webview(类似Chrome://inspect的功能)国内404,大家都懂的,经过我各种折腾制作完成,不会出现空白页面,无需科学那啥,不限机型,Hybrid App等H5混合应用开发必备,

    WEB平台下的基于HTML5标准离线应用开发 (2012年)

    既直观展示了HTML5的内容描述标签、直接支持表单验证、视频音频标签、网页元素的拖拽、工作线程等新特性,又介绍了利用DOMStorage 和Web SQL Database两种存储机制进行离线应用开发的方法。文章对基于HTML5的应用开发...

    HTML5移动应用开发入门经典

    《HTML5移动应用开发入门经典》总共分为24章,以示例的方式对如何使用HTML5及相关技术进行移动应用开发做了全面而细致的介绍。《HTML5移动应用开发入门经典》首先讲解了HTML5的起源以及它为什么适用于移动设备,然后...

    [HTML5移动应用开发入门经典].(美)凯瑞恩.扫描版

    《HTML5移动应用开发入门经典》总共分为24章,以示例的方式对如何使用HTML5及相关技术进行移动应用开发做了全面而细致的介绍。《HTML5移动应用开发入门经典》首先讲解了HTML5的起源以及它为什么适用于移动设备,然后...

    Android的webview支持HTML5的离线应用功能详细配置

    HTML5的离线应用功能可以使得WebApp即使在网络断开的情况下仍能正常使用,这是个非常有用的功能。近来工作中也要用到HTML5离线应用功能,由于是在Android平台上做,所以自然而然的选择Webview来解析网页。但如何使...

    使用HTML5数据库和离线功能

    有了离线功能和本地持久存储特性,您不管是在线还是离线状态都可以交付同样丰富的用户体验,这些体验以前只可在专用的桌面应用程序开发框架中获得。在本文中,您将了解如何利用HTML5的离线功能和本地持久存储特性。...

    《HTML5开发精要与实例详解》配套源码

    全书一共分为10章,全书以HTML 5的使用环境和基本特征开篇,依次详细地讲解了HTML 5中新增的交互元素、重要元素、表单与文件、视频与音频、绘画、数据存储、离线应用、网络应用和拖放等核心内容。

    Android应用开发新路线

    This a very good html5 demo for Android development-This is a very good html5 demo for Android development Android应用开发新路线 ...如何在Android中构建HTML5离线应用? 如何使用Canvas进行绘图?

    HTML5多媒体开发指南

    通过本书的学习,读者可以使用HTML5开发出炫目的多媒体应用和网站。 ● 使用canvas实现绘图、动画、特效和事件 ● 使用原生的&lt;video&gt;元素创建和观看视频 ● 使用原生的&lt;audio&gt;元素添加并播放音频 ●...

    利用Node实现HTML5离线存储的方法

    开发离线Web应用需要几个步骤,其中一个就是离线下必须能访问一定的资源(图像 JS css等) HTML5引入了应用程序缓存,这意味着 web 应用可进行缓存,并可在离线时进行访问。 :pushpin:应用程序缓存为应用带来三个...

    node.js 和HTML5开发本地桌面应用程序

    在手机端,有一个非常棒的工具叫做PhoneGap,使用这个快速开发平台,任何人都可以使用HTML5+CSS3+JavaScript开发出安卓,iOS等应用。PhoneGap的最好的一个特点是,你并不需要联网,不需要连接web服务器,你可以从把...

Global site tag (gtag.js) - Google Analytics