2010-04-09 6 views
1

J'essaye de construire une application web hors ligne qui peut se synchroniser en ligne si le réseau est disponible. J'ai essayé jQuery jStore mais la page de test s'arrête à "testing ..." sans résultat, alors j'ai essayé Google Gears qui est censé fonctionner sur le téléphone mais il n'est pas trouvé.Android v1.5 w/stockage de données de navigateur

if (window.google && google.gears) 
{ 
    google.gears.factory.getPermission(); 

    // Database 
    var db = google.gears.factory.create('beta.database'); 
    db.open('foobar'); 
    db.execute('create table if not exists Lectures' + 
      ' (ID_COMPTEUR int, DATE_HEURE timestamp, kWh float, Wmax float, VAmax float, Wcum float, VAcum float);'); 

} 
else 
{ 
alert('Google Gears non trouvé.');  
} 

le code fonctionne sur Google Chrome v5.

[modifier]

alert(window.google); sur le téléphone est non défini, mais est un objet dans Chrome.

alert(google.gears); ne fait rien sur le téléphone et bloque le javascript, mais est un objet dans Chrome.

[edit 2]

dans la configuration du téléphone, des engrenages est activé.

[modifier 3]

être clair, vous devez utiliser la base de données de google.gears sur Android 1.5 et localStorage de html5 sur Android 2.x

Répondre

1

Got it! "gears_init.js" ne se chargeait pas correctement. Mon code utilisait:

<script type="text/javascript" src="gears_init.js"></script> 

sans avoir le fichier localement. J'ai téléchargé le fichier de google et maintenant cela fonctionne. Je ne sais pas pourquoi Chrome fonctionnait correctement sur chrome ..