2009-04-27 4 views
1

Я пытаюсь создать managedStore для кэширования всех js, img, swf и css из веб-приложения, которое я разрабатываю.Проблема с Google Gears и jQuery, создающая managedStore

Вот код:

$(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) не будет работать)

С уважением,

ответ

2

попробовать

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 ('...')