Google Gears 体验(2):本机 web 服务器

本文介绍 GoogleGears 的一个示例,展示如何使用 JavaScript 在本地保存网络资源,实现离线应用功能。文章详细解释了创建本地服务器对象、资源捕获与释放等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GoogleGears 的第二个官方例子:
http://code.google.com/apis/gears/samples/hello_world_resourcestore.html


这个例子的内容是演示如何在本机保存网上的资源,以便开发离线应用。

要注意的是这个离线资源是和浏览器的缓存无关的,可以 拔掉网线删除浏览器缓存,这时仍然可以通过常规 URL (比如: http://code.google.com/apis/gears/samples/hello_world_resourcestore.html)访问页面的功能!

gears2.jpg

该应用的初始化阶段,需要用 js 先创建本地服务器对象:

var  localServer  =
        google.gears.factory.create('beta.localserver', '
1.0 ');


例子界面中的几个按钮功能的分析如下

1. CreateStore:    创建一个 Store。Store 之于 LocalServer,类似于数据库的 Table 之于 DataBase 的关系。

var  STORE_NAME  =  'helloworld - store';
//  如果该名称的 Store 已经存在,则会打开已有的。
var  store  =  localServer.createStore(STORE_NAME);


2. Capture: 捕获需要的资源到本地。

//  先在一个数组里定义好需要获取到本机的资源名称
var  filesToCapture  =  [
  location.pathname,  
//  代表当前页面的 url
  'sample.js',
  'sample.css',
  'gears_init.js'
];

//  捕获文件到本地,允许指定一个回调函数进行自定义的处理
store.capture(filesToCapture, captureCallback);

//  回调函数。这里仅仅做一下进展状态的汇报工作
function  captureCallback(url, success, captureId) {
  addStatus(url 
+  ' captured '  +  (success  ?  'succeeded' : 'failed'));
}

3. UnCapture: 取消捕获

for  ( var  i  =   0 ; i  <  filesToCapture.length; i ++ ) {
    store.remove(filesToCapture[i]);
}

4. RemoveStore: 删除 Store

//  删除 Store 之前需要首先用 openStore 方法测试其是否存在
if  (localServer.openStore(STORE_NAME)) {
    localServer.removeStore(STORE_NAME);
    
//  释放 store 占用的指针,标志为可垃圾回收资源
    store  =   null ;
}


这个例子非常简单,没有太多可说的。更多的就要去参考在线的 API 文档了。地址在:
http://code.google.com/apis/gears/api_localserver.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值