5

Ich habe eine Single-Page-Anwendung mit Breeze.js für den Datenzugriff arbeiten. Es verwendet die Breeze.js, um Abfragen für den lokalen Cache auszuführen, und die Daten werden beim Start nur einmal angefordert. Nur die Datenaktualisierungen werden anschließend auf dem Server zurückgesendet.So implementieren Sie offline-fähige Single Page-Anwendung mit Breeze.js und HTML5 lokalen Speicher

Ich bin auf der Suche nach einer Lösung, um die Anwendung Verbindung bewusst zu machen. Wenn das Mobilgerät keine Internetverbindung hat, werden die Änderungen lokal mit Breeze.js und dem lokalen HTML5-Speicher gespeichert. Wenn das Mobilgerät wieder online ist, werden die Änderungen mit dem Remote-Datenspeicher synchronisiert.

Gibt es Richtlinien für die Umsetzung dieser Anforderung? Danke

Antwort

2

Sieht aus wie die HTML5 bietet 5 MB lokalen Speicher, der bis gereinigt bleibt und ist nützlich für die Speicherung von JSON-Werten mit XMLHttpRequest.

Die Eigenschaft HTML 5 navigator.onLine bietet eine Offline-Erkennung. Wahr, wenn online, false, wenn nicht

var nav = window.navigator; 
if(nav.onLine) { 
    // do HMLHttpRequests etc 
} 
window.addEventListener('online', function() { }); 
window.addEventListener('offline', function() { }); 

Weitere Informationen erhalten Sie Building Hybrid Mobile Applications with HTML5

1

@mitaka zeigte Sie auf Verbindungsänderungserkennung.

Für die Verwendung von BreezeJS zum Speichern von Entitäten im lokalen Speicher bietet das Thema "Export/Import" in der BreezeJS-Dokumentation wertvolle Hinweise. Die Datei "exportImportTests.js" im Beispiel "DocCode" zeigt einige der dort beschriebenen Techniken.