牛刀小试(2)——使用Goolge gears制作离线应用.

牛刀小试(2)——使用Goolge gears制作离线应用.

上篇介绍了google gears 在本地的一些应用,这篇文章将介绍如何将 我们正在浏览的网页 利用 gears 下载到本地,然后当 服务器 停止时, 本地依然能够访问。

本例需要的文件:

  • tutorial_manifest.json(一个json文件,里面存了一个json对象,对象是一个你要下载到本地的文件列表)

    比如

  {
    "betaManifestVersion": 1,
    "version": "v1",
    "entries": [
        { "url": "go_offline.html"},
        { "url": "go_offline.js"},
        { "url": "../gears_init.js"},
        { "url": "../css/style.css"},
        { "url": "../images/a.gif"},
        { "url": "../images/b.gif"}
      ]
  }

 

  • go_offline.html 

 

  • go_offline.js

 

  • gears_init.js  (gears官方提供的初始化库 )

 

  • style.css,a.gif , b.gif

 

 

1.初始化gears

首先,你先引入 Google Gears 提供的 gears_init.js 來作一些基本的 Google Gears 初始化,然后,在你自己的 JavaScript 里面,加入如下代码:

function init() {if (!window.google || !google.gears) {textOut("注意,你必须先安装google gears!");} else {textOut("很好,google gears已经安装。");}}

2.同步到本地

这里就会使用到刚才那个json 对象了 ,通过json对象的列表文件,然后把它们下载到本地。

// 先建立 local server,这里 create 的参数不用修改。
try {var localServer = google.gears.factory.create('beta.localserver');}
 catch (ex) {alert(ex.message);return;}// 建立存储空间,名称可以自己取
var store = localServer.createManagedStore("foo-store");// 指定 json 的 url
store.manifestUrl = MANIFEST_FILENAME;// 开始确定版本并同步
store.checkForUpdate();// 为了确认是否同步结束,可以加入下面的timer来检查  :
var timer = google.gears.factory.create('beta.timer');// 每 500m 检查 一下
var timerId = timer.setInterval(function() {// 同步完成if (store.currentVersion) {timer.clearInterval(timerId);alert('同步完成');}}, 500);

3.例子下载

 

我按照官方教程 做了一个 简单 的离线浏览的例子。
你可以挂在自己本地的服务器上,先运行一次。然后把服务器停掉,然后再次用 服务器的地址 去访问。
http://www.cssrain.cn/demo/gearstutorial/gearstutorial.rar

PS:本来想在我的网站上 应用一下,结果我服务器不支持 .json 后缀的文件。 所以无法演示,但在本地localhost上 已经 测试成功。能离线使用。

 http://www.cssrain.cn/article.asp?id=1404

你可能感兴趣的:(Go)