离线webapp

定义:离线=没有网络环境/弱网络

1、离线浏览--缓存数据

场景:新闻、阅读、视频

2、本地保存用户操作数据

场景:邮箱软件(离线编辑、在线发送)

 

典型案例:FT中文网

 

html5提供的数据持久化技术

1、Application Cache 本地缓存应用所需的文件

2、Local Storage&Session Storage  键值对存储数据

3、Web SQL 关系数据库,通过SQL语句访问

4、IndexDB 索引数据库

 

Application Cache 

<html manifest="phone.manifest">

manifest 属性规定文档的缓存 manifest 的位置。

HTML5 引入了应用程序缓存,这意味着 Web 应用程序可以被缓存,然后在无互联网连接的时候进行访问。

应用程序缓存使得应用程序有三个优点:

1、离线浏览 - 用户可以在离线时使用应用程序

2、快速 - 缓存的资源可以更快地加载

3、减少服务器加载 - 浏览器只从服务器上下载已更新/已更改的资源

另外有三个特点:

1、manifest文件有变化才更新

2、一次必须更新manifest中所有的文件

3、下次才生效

注意:Internet Explorer 9 及之前的版本不支持 manifest 属性。

 

LocalStorage

主要存储离线webapp的方式

注:Chrome浏览器中localStorage最大5120kb,即5M。

测试浏览器支持localstorage大小的方法:

(function() {
    if(!window.localStorage) {
        console.log('当前浏览器不支持localStorage!')
    }    
    var test = '0123456789';
    var add = function(num) {
        num += num;
        if(num.length == 10240) {
            test = num;
            return;
        }
        add(num);
    }
    add(test);
    var sum = test;
    var show = setInterval(function(){
        sum += test;
        try {
            window.localStorage.removeItem('test');
            window.localStorage.setItem('test', sum);
            console.log(sum.length / 1024 + 'KB');
        } catch(e) {
            alert(sum.length / 1024 + 'KB超出最大限制');
            clearInterval(show);
        }
    }, 0.1)
})()

webSQL

浏览器本地数据库。特点:占用资源少,处理速度快。

三个核心方法:

1、openDatabase 使用现有的数据库或新建

2、transaction 事务提交或回滚

3、executeSql 执行真实的sql查询

 

你可能感兴趣的:(离线webapp)