Untitled Document
Zoom sur les différents modules de Google Gears

En savoir plus

 

Le module "LocalServer" est la brique de Google Gears permettant à l’utilisateur de pouvoir continuer à naviguer sur le site une fois la connexion Internet perdue. Il s’agit tout simplement d’un système de cache sur les protocoles et HTTP et HTTPS, permettant de fournir localement des ressources statiques du site (pages HTML, JavaScript, feuilles de styles, images…) L’instanciation de l’objet correspondant se fait comme suit :

 

// instanciation de la classe localserveur
var localSrv = google.gears.factory.create
£(‘beta.localeserver’, ‘1.1’) ;

L’interaction avec le composant LocalServer s’effectue par le biais de conteneur à URL de type ResourceStore. Ce conteneur d’URL peut contenir un nombre quelconque d’URL et une application peut créer un nombre quelconque de containers. Vous aurez compris que vous pouvez mettre en cache toutes les ressources de votre site.

 

// création d’un conteneur
var store = localServer.createStore('stockage');

Un mécanisme de cache sur le poste local

Une fois le conteneur disponible, nous pouvons y ajouter les URL et leur assigner une méthode de type "callback" qui sera invoquée à chaque fois que ces URL sont sollicitées.

 

var localServer = google.gears.factory.create
('beta.localserver', '1.1'); var store = localServer.createStore('stockage'); var filesToCapture = [ location.pathname, 'index.js', 'style.css' ]; function captureCallback(url, success, captureId) { alert(url + 'captured: ' + success ? 'success' :
'failure'); } int captureId = store.capture(filesToCapture,
captureCallback)

La signature de la fonction "captureCallback" comporte trois paramètres :

1. Le premier est l’URL appelée,

2. Le second paramètre de type booléen indique le statut de l’opération de chargement,

3. Le troisième paramètre joue le rôle de jeton et est passé par la suite à la méthode abortCapture du container afin de stopper la tâche de fond asynchrone de capture.

Lorsque le nombre d’URL est trop important et qu’on ne peut les gérer individuellement, on utilise l’objet ManagedStore. La manipulation de cet objet s’effectue à l’identique de son homologue ResourceStore. Cependant, la déclaration est faite à l’aide d’un fichier manifest au format générique JSON.

 

{
// version du format du fichier manifest
  "betaManifestVersion": 1,

// version des ressources contenues dans ce manifest
  "version": "v1.0",

// les url à mettre dans le cache
  "entries": [
    { "url": "managed_store.html",
      "src": "managed_store_v1.html" },
    { "url": "managed_store.js",
      "src": "managed_store_v1.js" },
    { "url": "managed_store_demo_utils.js" },
    { "url": "sample.css", "src": "../styles.css" },
    { "url": "sample.js", "src": "../index.js" },
    { "url": "gears_init.js", "src": "../gears_init.js" } ]
}

JDN Développeur Envoyer Imprimer Haut de page

RECHERCHER