Проблема с Google Gears и jQuery при создании управляемого магазина - PullRequest
1 голос
/ 28 апреля 2009

Я пытаюсь создать управляемый магазин для кэширования всех js, img, swf и css из разрабатываемого веб-приложения.

Вот код:

$(document).ready(function() {
    var manifestName = 'cache_manifest.json';
    var storeName = 'cache';
    var localServer;
    var localStore;
    if (window.google && google.gears) {
        localRequest = google.gears.factory.create('beta.httprequest');
        localServer = google.gears.factory.create('beta.localserver');
        localStore = localServer.openManagedStore(storeName);
        isServerAvailable();
        $("#separator").text(' | ');
        if (!localStore) {
                localStore = localServer.createManagedStore(storeName);
                localStore.manifestUrl = manifestName;
                localStore.onerror = $('#offline').text('Error con el cache');
                localStore.oncomplete = $('#offline').text('Cache activado');
                localStore.onprogress = $('#offline').text(Math.ceil(((event.filesComplete / event.filesTotal) * 100)) + "%");
                localStore.checkForUpdate();
        }
        else {
            $('#offline').text('Cache activado');
        }
    }
});

Однако localStore.onerror всегда срабатывает.

У меня есть вопросы:

  • Есть идеи, что не так?
  • Как узнать, какая именно ошибка (оповещение (localStore.onerror) не будет работать)

С уважением,

1 Ответ

2 голосов
/ 05 мая 2009

1001 * попробовать *

if (!localStore) {
   localStore = localServer.createManagedStore(storeName);
   localStore.manifestUrl = manifestName;
   localStore.onerror = function(){$('#offline').text('Error con el cache');}
   localStore.oncomplete = function(){$('#offline').text('Cache activado');}
   localStore.onprogress = function(){$('#offline').text(Math.ceil(((event.filesComplete / event.filesTotal) * 100)) + "%");}
   localStore.checkForUpdate();
}

Вы должны назначить ссылки на функции, которые должны вызываться при определенных событиях. Вы вызывали эти функции, и в конце свойства onerror, oncomplete и onprogress содержали экземпляры jQuery, возвращаемые $ ('# offline'). Text ('...')

...