jMakiでGoogle GearsとJavaをつなげてみた - (page 4)

杉山貴章(オングス)

2007-06-19 14:54

 さて、ここではGoogle GearsのLocalServer機能を利用して、ボタンをクリックしたらページのキャッシュを保存するアプリケーションを作成してみる。ページのキャッシュをjMakiの拡張機能として実装するには、extension.jsのexecute関数においてResourceStoreを利用してキャプチャを実行すればよい。LocalServerの利用方法に関する詳細はGoogle Gearsのドキュメントを参照していただきたい。

 今回はexecute関数および関連する関数をリスト5のように作成した。このコードをリスト4の(3)部分に記述すればよい。

 (4)のinitLocalserverは、LocalServerを初期化するための関するである。execute関数の本体は(5)の部分で、Storeを開いて第2引数に指定されたファイル群をキャプチャする。この部分の処理が、(1)の設定によって/google/gears/executeに対するアクセスにマップされる。(5)はキャプチャの実行に対するコールバック関数である。

リスト5 execute関数の実装

  var localServer = null;
  var store = null;

  // (4)LocalServerの初期化
  function initLocalserver(store_name) {
    if (!window.google || !google.gears) {
          jmaki.log("Google Gears not found.");
          return;
     }

    try {
      localServer =
        google.gears.factory.create('beta.localserver', '1.0');
    } catch (ex) {
        jmaki.log('Could not create localserver: ' + ex.message);
    }
    store = localServer.openStore(store_name);
  }

  // (5)execute関数
  this.execute = function(args) {
    var store_name = args.storename;
    var fileToCapture = args.files;
    if (!localServer) initLocalserver(store_name);
    if (!localServer) {
      jmaki.log("Google Gears Extension: Unable to find localserver.");
      return;
    }

    // Storeを作成
    store = localServer.createStore(store_name);

    if (!store) {
      jmaki.log("Google Gears Extension: Unable to create store.");
      return;
    }
    jmaki.log("Google Gears Extension: Created the store.");

    // キャプチャを実行
    store.capture(filesToCapture, captureCallback);
  }

  // (6)コールバック関数
  function captureCallback(url, success, captureId) {
    jmaki.log("Google Gears Extension: " + url + ' captured ' + (success ? 'succeeded' : 'failed'));
  }
}

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

自社にとって最大のセキュリティ脅威は何ですか

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]