2016-05-10 20 views
0

Ich verwende Javascript Remoting in unserer Anwendung. Wir haben auch Offline-Funktionalität von HTML5-Cache-Menifest in der Anwendung. Unser Anwendungsfluss ist so, dass, wann immer ein Benutzer online ist, alle Dateien einschließlich Javascript-Dateien zwischengespeichert und im lokalen Speicher gespeichert werden und der gesamte Prozess mit diesen Dateien online oder offline erfolgt.Javascript Remoting funktioniert nicht im Offline-Modus.Error sagt "Visualforce ist nicht definiert"

Mein Problem ist, wie wir Dateien aus dem Cache Visualforce Objekt von Javascript Remoting wird nicht erstellt (wie es auf dem Server erstellt wird). Wir können jedoch keine soql-Abfrage ausführen.

Fehler sagt "Visualforce ist nicht definiert".

Wie können wir dieses Problem lösen?

Antwort

0

Es ist schwer zu sagen, ohne Ihren Code zu sehen, aber irgendwann wird das Visualforce-Objekt ausgeführt, während es nicht definiert ist. Das Visualforce-Objekt sollte nur verwendet werden, wenn Sie einen Remoting-Aufruf ausführen. Wenn Sie offline sind, können Sie offensichtlich keinen Remoting-Aufruf an den Server vornehmen.

Sie durch Setzen eines cachedPageLoad Variable beginnen könnte, wenn Visual nicht definiert ist:

if(!Visualforce) { 
    cachedPageLoad = true; 
} else { 
    cachedPageLoad = false 
} 

Dann nisten alle Ihre Visualforce.remoting in einer Überprüfung der cachedPageLoad Variable aufruft.

if(cachedPageLoad) { 
    // save to local storage 
} else { 
    // Visualforce.remoting call 
}